본문 바로가기

Python/Django

Django: DB migrations 기록 지우기

728x90
반응형

Django를 통해 DB 설계를 한 경우

DB의 table에

django_migrations라는 table 생성됨

  migrate를 하는 경우에 DB에 그 기록이 저장이 되는 table

 

(migration 오류가 나는 경우에) 해당 table의 특정 app 내의 migration 기록을 지우는 방법

 

 

1. Django shell 이용 (터미널)

$ python manage.py shell

$ from django.db.migrations.recorder import MigrationRecorder

$ from django.db import connection

$ recorder.Migration.objects.filter(app='<app_name>').delete()

 

2. Script로 지우기

from django.db.migrations.recorder import MigrationRecorder
from django.db import connection

def some_function(request):
    recorder = MigrationRecorder(connection)
    recorder.Migration.objects.filter(app='<app_name'>).delete()
    pass

 

728x90
반응형