我有 Flask-migrate 的 Flask 应用程序。运行db升级
创建以下表格:
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
)?
最佳答案
I want to start from empty database
在这种情况下,在数据库级别(而不是应用程序级别)执行此操作,例如删除 SQLite 的 .db
文件,删除 PostgreSQL 的 DROP DATABASE
等。
如果您经常这样做,您可以创建一个脚本来删除然后重新创建数据库(并在其上运行迁移)。
因为在应用程序级别,数据库管理软件将希望保留一些信息来跟踪架构版本。
关于python - Flask Sql-alchemy 不会删除 alembic 创建的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220745/