Sqlalchemy 如何处理金字塔中的模型更改
在生产阶段,我很可能会研究迁移功能(使用版本等),但在开发阶段,我想知道处理models.py中任何更改的最常见方法是什么?该应用程序是用SQLAlchemy设置的 我对python web框架比较陌生。我的背景是PHP,最近我完成了一个使用Symfony 1.4的项目,在这个项目中,我通常只需要做Sqlalchemy 如何处理金字塔中的模型更改,sqlalchemy,pylons,pyramid,Sqlalchemy,Pylons,Pyramid,在生产阶段,我很可能会研究迁移功能(使用版本等),但在开发阶段,我想知道处理models.py中任何更改的最常见方法是什么?该应用程序是用SQLAlchemy设置的 我对python web框架比较陌生。我的背景是PHP,最近我完成了一个使用Symfony 1.4的项目,在这个项目中,我通常只需要做Symfony条令:build--all--and load,这将负责重建模型类、重新创建数据库和加载数据装置,以及其他一些事情 目前,我正在做的只是删除数据库,重新创建它,然后用paster提供应用
Symfony条令:build--all--and load
,这将负责重建模型类、重新创建数据库和加载数据装置,以及其他一些事情
目前,我正在做的只是删除数据库,重新创建它,然后用paster提供应用程序,paster负责重新创建表等等
这可能是一个很难回答的问题,但问题来了。好吧,没关系。我修改了我的初始化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
谢天谢地,这只会删除表,而不是整个数据库,所以它运行得很快。我现在使用的是sql alchemy migrate,非常简单 这里有一个教程: 以及包含更多信息和教程的pdf: 它易于安装,可以对数据库进行更改(升级或降级) 以炼金术的方式