問題タブ [django-migrations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
15857 参照

django - 移行を使用して Django のモデル フィールドにインデックスを追加する

Field.db_index移行のあるアプリを使用して、モデル フィールドにインデックスを追加しようとしています。Django のドキュメントを見ると、次のように設定するだけですdb_index=True

そして、最初に新しい Django の移行を試しました。

しかし、移行は変更に気付かないようで、インデックスを作成するための sql コマンドを追加しません。だから私はここでdjango-admin.py説明したように試しました:

ただし、それは sql コマンドも出力せず、次のエラーで終了します。

0 投票する
2 に答える
6190 参照

django - なぜdjango 1.7はフィールド選択の変更に対してマイグレーションを作成するのですか?

バージョン 1.7 でこの動作を確認しましたが、サウス マイグレーションを使用する以前のバージョンでは確認できませんでした。

例えば。

さらにオプションを追加したとき:

そして run makemigrations、バックグラウンドから移行を作成しsouthます。データベーススキーマに影響を与えないため、変更が検出されなかったと言うべきだと思いました。それがどのような目的に役立つのかわかりません:

0 投票する
2 に答える
39521 参照

django - django 1.7 移行 -- すべての移行をクリアして最初からやり直すにはどうすればよいですか?

そのため、現在djangoアプリを迅速に繰り返しており、models.pyを常に調整しています。プログラミングとテストに 1 日か 2 日かけて、数十個の移行ファイルを生成します。スキーマを本当にバラバラにして、完全にやり直すこともあります。これにより、移行プロセスがデフォルトや null 値などについて多くの不満を抱くようになります。可能であれば、すべての移行作業をスクラッチして、自分が何をしているのかがようやくわかったので、移行を再開したいと思います。これまでの私のアプローチは次のとおりです。

  1. を除く移行フォルダー内のすべてを削除します__init__.py
  2. PostgreSQL コンソールにドロップして実行します。DELETE FROM south_migrationhistory WHERE app_name='my_app';
  3. PostgreSQL コンソールで、my_app に関連付けられたすべてのテーブルを削除します。
  4. 再実行./manage.py makemigrations my_app- これ0001_initial.pyにより、移行フォルダーにファイルが生成されます。
  5. run ./manage migrate my_app- このコマンドですべてのテーブルが再構築されることを期待していますが、代わりに「適用する移行はありません」と表示されます。

何を与える?

また、south_migrationhistorySouth を捨てて Django 1.7 に切り替えた今でも、データベース テーブルは有効ですか?

ありがとう。

0 投票する
1 に答える
484 参照

django - django 1.7 移行:何も変更されていない間に変更が検出されました

makemigrationsdjango 1.7のコマンドによって変更がどのように検出されますか?

私のフィールドの1つに変更があるのに、変更がないことが常に通知されるという問題があります。コマンドを実行すると、同じ移行ファイルが変更なしで何度も書き込まれます。

このフィールドは、deconstruct メソッドを実装したカスタム フィールドであり、オブジェクトであるパラメーターがいくつかあるため、deconstructible デコレーターを使用しました。

問題を再現する github でプロジェクトを作成しました: https://github.com/YAmikep/django-testmigrations

私は何を間違えましたか?これはバグですか?

これが私が実行したものです:

移行ファイル 0002_auto_20141014_2123.py と 0003_auto_20141014_2123.py には、まったく同じ操作が含まれています。

0 投票する
4 に答える
6086 参照

django - Django 1.7 の移行

私はdjango 1.7を使用しており、カスタムユーザーモデルを追加しました。どちらpython3 manage.py makemigrationsかを実行するpython3 manage.py migrateと、エラーが発生します: TypeError: __init__() got an unexpected keyword argument 'preserve_default'. この問題は、新しいカスタム ユーザー モデルを追加した後に発生しました。完全なトレースバックは次のとおりです。