IT/Django

convert model to sql query

앤소온 2020. 9. 16. 21:22

model을 잘못 만졌더니 migrate가 안됐다. 

 

예전에는 데이터가 없어 그냥 디비를 다 날리고 다시 makemigrations / migrate를 수행해도 상관없었지만,

 

이제 데이터가 좀 쌓여서 그럴 순 없었다. 

 

python manage.py migrate --fake zero 이런식으로 

해봐도 안됐음

 

결국 디비에서 해당 table을 드롭하고 다시 create하기로 함. 

근데 그냥 create 하려니 sql query를 어떻게 해줘야할지 모르겠다.

 

구글링하다 결국 찾은게 

python manage.py sqlmigrate app_name migration_file_number

 

python manage.py sqlmigrate test 0001 

이런식으로 한다.

그럼 

CREATE TABLE "dept_emp_department" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "dept_name" varchar(1000) NOT NULL, "dept_desc" varchar(1000) NOT NULL);

 

이런식으로 나온다. 

이걸 workbrench나 등등 입력하면 테이블이 정상적으로 생성된다. 

 

admin 페이지에서 확인해보면 나온다. 

 

* 나중에 다시 모를경우 찾아볼 키워드 

manage.py   sqlmigrate / --fake-inital / --fake / showmigrations /