Flask + SqlAlchemy ALTER 表

rh0*_*h0x 5 python mysql flask-sqlalchemy tablecolumn

我正在开发一个基于 Flask + SqlAlchemy + MySQL 的 Web 应用程序,我遵循了这个答案。我必须更改我的模型,因此我需要更改数据库表,添加一列,但我不想丢失存储的数据,删除并重新创建它。

我读到了一些关于 Flask-Migrate 和 Alembic 的内容……它们对于解决我的问题至关重要吗?我能做些什么?

mas*_*nun 5

是的,他们可以提供帮助。我建议使用 Alembic ( http://alembic.readthedocs.org/en/latest/ ),它来自 SQLAlchemy 的作者。

通过迁移,您需要定义要进行的更改。在您的情况下,您想要添加一列。我认为这不会有问题。添加列通常不会导致数据丢失。更改类型或删除列会导致数据丢失。

您当然也可以直接更新表格,只需更新模型以反映新列即可。但迁移通常是更易于管理的方式。