2017-01-07 11 views
0

manage.py flushを実行してデータベースをパージできます。では、移行ファイルから初期データを再ロードするにはどうすればよいですか?フラッシュ後にデータをリロードする方法

私はmanage.py migrate unitを実行した場合、私は、次を得る:私はスキーマ作成後にデータのロードを実行するために0001ファイルを修正以外

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

マイ移行ファイルは、主に、docsからの例に従います。たとえば、

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

またはあなたが本当にあなたが、あなたが既にデータベースをフラッシュしましたから、なぜ単にデータベースを完全に削除して再作成ではない、移行をやり直しを主張するかのことを行う方がいいでしょうもう一度移行することができます。

はなぜドキュメント(https://docs.djangoproject.com/en/1.10/howto/initial-data/#providing-initial-data-with-migrations)私は理解していないにもproviding initial data with fixtures

+0

を参照してください。データの読み込みにマイグレーションを使用するとしますか?つまり、器具を使用しないと言います。 – James

+0

また、移行でデータをロールバックしてデータを再適用しないと、移行に逆機能があるのはなぜですか? – James

+0

@TechMedicNYC - あなたはそのアドバイスとは別の状態です。すでにデータベースにマイグレーションを適用しているため、データベースやカスタム管理コマンドをリメイクする(現在)必要がありません – Sayse

関連する問題