私のプロダクションサーバーで、私のアプリケーションのいずれかでマイグレーションディレクトリを誤って削除しました。複数の人がアプリケーションを操作するので、アプリケーションを作成するときにローカルでマイグレーションを行わずに、モデルの変更をプッシュし、本番サーバーでマイグレーションを行い、マイグレーションするだけでした。過去に移行の問題をマージしていたため、これを実行しました。これが良い解決策であると考えました。移行フォルダのローカルコピーが存在しないので、永遠に消えてしまう恐れがあります。私の質問はこれです。私はWebfactionのphpPgAdminにアクセスでき、データベースにはdjango_migrationsテーブルがあります。私は、最新バージョンのマイグレーションを見つけて、例えば0009_migration.pyと言うことを考え、将来そのマイナーチェンジファイルを将来変更する場合は、新しいマイグレーションファイル0010_migration.pyの名前を変更するだけです。そうすれば、私は単純にマイグレーションを実行することができます。それは、マイグレーションがまだ実行されていないこと、すなわち0010_migration.pyだけが考慮されます。しかし好奇心の念から、あなたのPostgreSQLデータベースを見て、django_migrationsテーブルのファイルにある移行レコードから、あなたのアプリケーション移行ディレクトリに移行ファイルを作成するコマンドがありますか?削除されたDjango移行を復旧しました
私はこれを依頼する簡単な方法があると思います「はmigrations.pyファイルにエンジニアdjango_migrationsテーブルの行を逆にそこの方法です?」ここで私は、PostgreSQLを持っているdjango_migrationテーブルの行の画像であり、どのようなI異なるコマンドを使ってファイルを見たいと思うでしょう。
ジャンゴ移行
class Migration(migrations.Migration):
dependencies = [
('portfolio', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='project',
name='contact_form',
field=models.BooleanField(default=False),
),
]
PostgreSQLのdjango_migrationsテーブル行
真剣に、将来これをしないでください。移行はコードベースの一部であり、バージョン管理が必要です。 –
私はダニエル、私たちの暗い過去の部分に同意し、私たちはすべて私たちの間違いから学びました、そして、この場合、それはまだそれで悩まされています。 – JBT