0

最近、OS を再インストールしたところ、ローカルの postgre db から古いデータがいくつか失われました。しかし、Alembic を使用してすべての移行ファイルをバックアップしました。そして今、データではなく、移行ファイルからデータベース スキーマを復元したいだけです。それは可能ですか?

4

1 に答える 1

1

それは実行可能です。すべての移行ファイルにはリビジョン番号があります。最初の移行ファイルには次のようなものがあります。

revision = '22a39a2bf2ed'
down_revision = None

2番目のリビジョンファイルには次のようなものがあります:

revision = '507003430224'
down_revision = '22a39a2bf2ed'

ご覧のとおり、すべてのリビジョン ファイルがリンクされています。

必要なのは、最初の移行ファイルを手動で作成してから実行することだけです

alembic upgrade head

次に、このファイルの内容を以前の最初の移行ファイルに置き換える必要があります。次に、2 番目の移行ファイルを開き、downgrade_versionnumber をこの新しい番号に置き換えます。

これで、実行できるはずです

alembic upgrade head

もう一度、データベースをアップグレードする必要があります

于 2015-11-02T10:46:14.160 に答える