Django 1.7 で migrations をリセットする方法
2023-09-25 07:38:22
質問
(これと同じタイトルがあることは知っていますが、質問は違います)。
開発機のマイグレーションと本番機のマイグレーションを同期させないように管理しています。
私は South を使用していた Django アプリを持っています。私は問題なく動作する独自のワークフローを持っていました (それはおそらく正しい方法ではなかったのですが、私はそれで問題を起こしませんでした)。
基本的に、私は本番データベース ダンプを私の開発マシンにコピーするスクリプトを持っています。それはまた、移行ファイルもコピーしました。そうすることで、2 つは同期し、私は通常どおり South コマンドを実行することができました。
現在、私は 1.7 にアップグレードし、マイグレーションを使用し始めました。以前のワークフロー (データベース ダンプと本稼働環境からの移行ファイルをコピー) を使用すると、私の開発マシンでの変更が検出されません。
migrations のドキュメントに目を通しましたが、それを使用するための正しい方法は
- 開発マシン上で "make migrations" と "migrate" を実行します。
- データベースの変更を実際に行うために、開発マシンで "migrate" を実行します。
- マイグレーション ファイルを含め、変更をコピーします。
- 本番マシンで "migrate" を実行します。("makemigrations" のステップなし)
とにかくです。今はすべてがめちゃくちゃです。私は、私の移行をリセットして、ゼロから始め、今後は適切に行いたいと思います。
私は何をする必要がありますか?
- 移行テーブルの内容を削除します (両方のマシンで)?
- 移行フォルダーの内容を削除しますか? (その中には init .py ファイルを含む)。
- 新しいものを作るために、ドキュメントに従ってマイグレーションを開始します。
何か見逃していることがありますか? 本番環境からすべて (データベースと移行ファイル) をコピーしても、私の開発マシン上で変更が検出されないのは、その後、何か理由があるのでしょうか?
どのように解決するのですか?
両方の環境で以下を実行するだけです(コードが同じである限り)。
- migrations フォルダを削除します。
-
DELETE FROM django_migrations WHERE app =.
<your app name>
. 代わりに、このテーブルを切り捨てることもできます。 -
python manage.py makemigrations
-
python manage.py migrate --fake
この後、すべての変更は環境間で検出されるはずです。
関連
-
[解決済み] Djangoでローカルと本番の設定を管理する方法とは?
-
[解決済み】Django Southでの後方移行について
-
[解決済み] Django-Rest-Framework のシリアライザーで Request.User を取得する方法とは?
-
[解決済み] Django Southを使用して移行履歴をリセットするための推奨される方法は何ですか?
-
[解決済み] Django が ManyToMany リレーションシップからオブジェクトを取り除く
-
[解決済み] Django 1.7 - makemigrations が変更を検出しない
-
[解決済み] あるdjangoアプリから新しいアプリにモデルを移行するにはどうしたらいいですか?
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] Django 1.7でユニットテストを実行する際にmigrationsを無効にする
-
[解決済み] Django 1.7でマイグレーションを簡単にする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
django のクエリセット操作
-
[解決済み] Django vs. Model View Controller [終了しました]。
-
[解決済み] django の OneToOneField と ForeignKey の違いは何ですか?
-
[解決済み] Django のフォームで、あるフィールドを編集できないように readonly (または disabled) にするにはどうしたらいいですか?
-
[解決済み] Djangoのテンプレートからsettings.pyの定数にアクセスすることは可能ですか?
-
[解決済み] Django の修正 管理者の複数形
-
[解決済み] Django ORM のクエリセットに対応する SQL クエリを表示するには?
-
[解決済み] Django ManyToMany filter()
-
[解決済み] Djangoです。文字列からモデルを取得する?
-
[解決済み] Django は静的ファイルの URL をビューで取得します。