我使用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
)?
答案 0 :(得分:1)
我想从空数据库
开始
在这种情况下,在数据库级别(与应用程序级别相反)执行此操作,例如删除SQLite的.db
文件,PostgreSQL的DROP DATABASE
等。
如果您经常这样做,可以让脚本删除,然后重新创建数据库(并在其上运行迁移)。
因为在应用程序级别,数据库管理软件会希望保留一些信息来跟踪架构版本。
答案 1 :(得分:0)
我找到了答案 - 不是删除数据库,而是通过以下方式将其降级为基本迁移:
db downgrade base