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

我想从空数据库开始

在这种情况下,在数据库级别(而不是应用程序级别)执行此操作,例如删除.dbSQLite、DROP DATABASEPostgreSQL 等的文件。

如果您经常这样做,您可以制作一个脚本来删除然后重新创建数据库(并在其上运行迁移)。

因为在应用程序级别,数据库管理软件会希望保留一些信息来跟踪模式版本。

于 2016-07-06T09:51:10.950 回答
0

我找到了答案-不是删除数据库,而是通过以下方式将其降级为基本迁移:

db downgrade base
于 2016-07-06T11:23:55.887 回答