我正在开发基于Flask + SqlAlchemy + MySQL的Web应用程序,然后我跟着that answer。 我必须更改我的模型,所以我需要更改db表添加列,但我不想丢失存储的数据删除并重新创建它。
我读过有关Flask-Migrate和Alembic的内容......它们对解决我的问题至关重要吗?我该怎么办?
答案 0 :(得分:2)
是的,他们可以提供帮助。我建议使用来自SQLAlchemy作者的Alembic(http://alembic.readthedocs.org/en/latest/)。
通过迁移,您需要定义要进行的更改。在您的情况下,您想要添加一列。我不认为这会是一个问题。添加列通常不会导致数据丢失。更改类型或删除列会导致数据丢失。
您当然可以直接更新表格,只需更新模型以反映新列。但迁移通常是更易于管理的方式。
答案 1 :(得分:0)
一个简单的解决方案是在SQL中使用ALTER TABLE
,然后更改表中的值。