当sqlAlchemy修改了模型结构后,如何更新到已有数据表?
由于业务不够稳定,数据表结构变更比较频繁,当我修改(如增加)了模型结构后,希望数据库中的表结构能够相应的改变,诸如使用 database.create_all() 之类的语句,想问下有没有这样的语句,或有其他方便的实现方法?
解决方法
可以使用 sqlalchemy-migrate http://code.google.com/p/sqlalchemy-migrate/
不过更推荐 @null 说的 Alembic。他是由sqlAlchemy的作者写的 http://pypi.python.org/pypi/alembic
Flask-Migrate:http://flask-migrate.readthedocs.org/en/latest/
或者试试:
Base.Metadata.create_all(engine)
http://docs.sqlalchemy.org/en/rel_0_7/core/schema.html#sqlalchemy.schema.MetaData.create_all