在生产阶段,我很可能会考虑迁移功能(包含版本等),但是当我处于开发阶段时,我想知道处理models.py中任何更改的最常用方法是什么?该应用程序使用SQLAlchemy进行设置。
我对python web框架比较陌生。我的背景是PHP,最近我使用Symfony 1.4完成了一个项目,我通常可以做symfony doctrine:build --all --and-load
,这将负责重建模型类,重新创建数据库,加载数据夹具等等。
目前我正在做的只是删除数据库,重新创建数据库,并使用贴纸来提供应用程序,这需要重新创建表格等。
这可能是一个noob问题,但你去了。
答案 0 :(得分:4)
我现在正在使用sql alchemy migrate,这很容易。
继承人教程: http://spyced.blogspot.com/2008/07/sqlalchemy-migrate-for-dummies.html
它易于安装,可以对数据库进行更改(升级降级) 以一种令人瞩目的sqlalchemy方式。
答案 1 :(得分:2)
好吧没关系。我像这样修改了我的initialize_sql:
def initialize_sql(engine):
DBSession.configure(bind=engine)
Base.metadata.bind = engine
Base.metadata.drop_all(engine) #added this
Base.metadata.create_all(engine)
try:
populate()
except IntegrityError:
pass
值得庆幸的是,这只会删除表,而不是整个数据库,所以它会快速运行。