"장고 앱 이름 바꾸기"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
(새 문서: == 개요 == 프로젝트 개발 중간에 앱 이름을 바꾸는 건... 굉장히 귀찮은 일이다. == 진행과정 == {| class="wikitable" |+ !과정 !설명 !방법 |- |디랙...)
(차이 없음)

2022년 6월 16일 (목) 12:29 판

1 개요

프로젝트 개발 중간에 앱 이름을 바꾸는 건... 굉장히 귀찮은 일이다.

2 진행과정

과정 설명 방법
디랙터리 이름 바꾸기 단순히 앱 디렉터리의 이름을 바꾼다. 바꾸는 건 쉬우니 알아서.
참조 수정 앱을 참조하는 .py 안에서 import에 사용되는 앱 이름을 바꿔준다.

특히 settings.py 안의 앱 명단 잘 정리하자.

여기까지만 잘 해줘도 작동은 잘 된다.

이건 일일이 찾아서 바꾸는 수밖에...

2.1 앱을 받아 정리하기

과정 설명 방법
깃허브에서 앱 다운 이름짓기 앱을 다운받는다. pip install django-rename-app
앱 등록 settings.py에 앱을 등록한다.
INSTALLED_APPS = [
    ...
    'django_rename_app',
    ...
]
실행 다음의 명령어를 실행한다. python manage.py rename_app 옛이름 새이름
삭제 다 썼으면 없애버리자. pip uninstall django-rename-app

settings.py도 수정하고.

2.2 직접 DB 수정하기

과정 설명 방법
DB수정 작동이 잘 되어도, DB가 그대로 있으면 나중에 문제가 될 수 있다.


근데... 이거 쌩노가다다;; 쉽게 할 수 있는 방법이 없을까??

UPDATE django_content_type SET app_label='새이름' WHERE app_label='예전이름'

ALTER TABLE <oldAppName>_modelName RENAME TO <newAppName>_modelName

UPDATE django_migrations SET app='<NewAppName>' WHERE app='<OldAppName>'

UPDATE django_content_type SET name='<newModelName>' where name='<oldModelName>' AND app_label='<OldAppName>'