Flask + SqlAlchemy ALTER表

时间:2015-12-16 10:56:37

标签: python mysql flask-sqlalchemy tablecolumn

我正在开发基于Flask + SqlAlchemy + MySQL的Web应用程序,然后我跟着that answer。 我必须更改我的模型,所以我需要更改db表添加列,但我不想丢失存储的数据删除并重新创建它。

我读过有关Flask-Migrate和Alembic的内容......它们对解决我的问题至关重要吗?我该怎么办?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

一个简单的解决方案是在SQL中使用ALTER TABLE,然后更改表中的值。