2017-01-07 4 views
0

manage.py flush을 실행하여 데이터베이스를 제거 할 수 있습니다. 이제 마이 그 레이션 파일에서 초기 데이터를 어떻게 다시로드합니까? 내가 스키마 생성 후 데이터로드를 실행하는 0001 파일을 수정 한 것을 제외하고플러시 후 데이터를 다시로드하는 방법

Operations to perform: 
    Apply all migrations: unit 
Running migrations: 
    No migrations to apply. 

내 마이그레이션 파일은 대부분의 docs에서 예를 다음과 내가 manage.py migrate unit을 실행하면

나는 다음과 같은 얻을. 예를 들어,

class Migration(migrations.Migration): 

    dependencies = [] 

    operations = [ 
     # django makemigration generated schema stuff 
     ... 
     # data creation stuff... 
     migrations.RunPython(models_1_create, models_1_reverse), 
     migrations.RunPython(models_2_create, models_2_reverse), 
    ] 

답변

1

당신은 할 수는 마이그레이션은 기존 데이터를 수정하는 데이터 마이그레이션과 더불어, 데이터베이스 스키마를 수정하기위한 것입니다.

이미 단지 완전히 데이터베이스를 삭제하고 다시 작성하지 왜 데이터베이스를 플러시 한 이후로 당신은 당신을, 마이그레이션을 다시 실행에 custom management command,

이 또는 당신이 정말로 고집 것을 만드는 것이 더 낫다 다시 이전 할 수 있습니다.

가 이해가 안 providing initial data with fixtures

+0

참조 왜 문서 (https://docs.djangoproject.com/en/1.10/howto/initial-data/#providing-initial-data-with-migrations) inital 데이터 로딩을 위해 마이그레이션을 사용한다고합시다. 즉, 그들은 조명기를 사용하지 않는다고 말합니다. – James

+0

또한 마이그레이션에서 데이터를 롤백하고 마이그레이션에 데이터를 다시 적용하지 않는 경우 마이그레이션이 역순으로 작동하는 이유는 무엇입니까? – James

+0

@TechMedicNYC - 당신은 그 충고와 다른 상태에 있습니다. 데이터베이스에 이미 마이그레이션을 적용 했으므로 (현재) 데이터베이스를 다시 만들거나, 사용자 지정 관리 명령을 다시 작성하지 않습니다. – Sayse

관련 문제