1. ホーム
  2. python

[解決済み] Django 1.9 で syncdb の代わりに何を使うべきですか?

2022-03-04 19:32:36

質問

これを見てください。

$ pypy ./manage.py syncdb
/usr/lib64/pypy-2.4.0/site-packages/django/core/management/commands/syncdb.py:24: RemovedInDjango19Warning: The syncdb command will be removed in Django 1.9
  warnings.warn("The syncdb command will be removed in Django 1.9", RemovedInDjango19Warning)

(cut)

を実行しました。 クイックグーグル検索 の代わりに何を使えばいいのでしょうか? syncdb ?

解決方法は?

syncdb は非推奨です。 マイグレーションシステム で導入された django 1.7 .

これで、次のことができるようになりました。 トラック を使用して変更します。 makemigrations . これは、モデルの変更をPythonコードに変換し、他のデータベースにデプロイできるようにするものです。データベースに適用する必要がある更なる変更がある場合、次のようにします。 データ移行 .

マイグレーションを作成した後、以下の作業が必要です。 適用 を使用します。 migrate .

ということで、代わりに syncdb を使用する必要があります。 makemigrations で、次に migrate .

モデルで何かを変更した後の開発に関するワークフロー。

./manage.py makemigrations
./manage.py migrate

そして本番システムで

./manage.py migrate

ボーナス: migrate を変更するたびに使用します。まだ適用されていない複数の変更がある場合、django は正しい順序でそれらを実行し てくれます。