python - Flask Sql-alchemy 不会删除 alembic 创建的表

标签 python flask flask-sqlalchemy alembic flask-migrate

我有 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/

相关文章:

python - 无法单击质量按钮

python - 在 pythonQt 中使用 BoolResult

python - 在 SQLAlchemy 中注释 `exists` 子查询

python - 从数据库 flask-babel 翻译字符串

flask - 手动验证flask-extended-jwt的访问 token

python - 我可以在没有事务的情况下通过 sqlalchemy 执行查询吗

python-3.x - 为什么当验证器条件不满足时 wtforms 不产生错误?

python - 当源代码没有改变,但是 selenium webdriver 没有返回元素

python - 我可以在 Raspberry Pi 3 上使用带有 Python 3 的 beacontools 吗?

python - 使用 Flask 提供 .mp4 文件并在 Objective-C 应用程序上播放会导致管道损坏且无法播放