Django 1.8以降、makemigrations
コマンドには--name, -n
オプション 作成された移行ファイルのカスタム名を指定します。
古いバージョンのDjangoで、自動生成された名前でマイグレーションファイルを作成し、ファイルの名前を手動で変更するのが安全かどうかを知りたいのですが、期待どおりに動作するようです。潜在的なリスク?
これは機能しますが、小さな警告があります:Djangoは、名前が変更された移行が適用されたことを認識しなくなります。
したがって、移行の名前を変更する手順は次のとおりです。
--fake
を使用して再度適用します。まったく新しい移行の場合、2と3は適用されません。名前を変更しても問題ありません。
これはDjango=移行が押しつぶされるたびに発生します。クラス変数replaces
を含む新しいファイルが生成されます。これは、置き換えられる移行ファイルをリストします。
したがって、ファイル移行ファイルの名前を変更するには、Migrationクラスの次の変数を追加します。
replaces = [('app name', 'migration file name'), ]
そして、すべてがファイル変更前と同じように機能します。