3

Flask-migrate を使用したフラスコ アプリケーションがあります。実行db upgradeすると、次のテーブルが作成されます。

              List of relations
Schema |      Name       | Type  |  Owner   
-------+-----------------+-------+----------
public | alembic_version | table | postgres
public | operations      | table | postgres
public | rule_values     | table | postgres
public | rules           | table | postgres
public | shares          | table | postgres

しかし、次のようにすべてのテーブルを削除すると:

db = SQLAlchemy(app)
db.drop_all()

私はこれを得た:

              List of relations
Schema |      Name       | Type  |  Owner   
-------+-----------------+-------+----------
public | alembic_version | table | postgres

すべてのテーブル (もalembic_version) を削除する解決策はありますか?

4

2 に答える 2

1

空のデータベースから始めたい

その場合、(アプリケーション レベルではなく) データベース レベルで実行します。たとえば.db、SQLite、DROP DATABASEPostgreSQL などのファイルを削除します。

これを頻繁に行う場合は、スクリプトを作成して DB を削除してから再作成する (そして移行を実行する) ことができます。

アプリケーション レベルでは、DB 管理ソフトウェアはスキーマ バージョンを追跡するためにいくつかの情報を保持する必要があるためです。

于 2016-07-06T09:51:10.950 に答える
0

答えが見つかりました-データベースをドロップするのではなく、次の方法でベース移行にダウングレードすることです。

db downgrade base
于 2016-07-06T11:23:55.887 に答える