如何处理金字塔中的模型更改

时间:2011-03-31 01:32:12

标签: sqlalchemy pylons pyramid

在生产阶段,我很可能会考虑迁移功能(包含版本等),但是当我处于开发阶段时,我想知道处理models.py中任何更改的最常用方法是什么?该应用程序使用SQLAlchemy进行设置。

我对python web框架比较陌生。我的背景是PHP,最近我使用Symfony 1.4完成了一个项目,我通常可以做symfony doctrine:build --all --and-load,这将负责重建模型类,重新创建数据库,加载数据夹具等等。

目前我正在做的只是删除数据库,重新创建数据库,并使用贴纸来提供应用程序,这需要重新创建表格等。

这可能是一个noob问题,但你去了。

2 个答案:

答案 0 :(得分:4)

答案 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

值得庆幸的是,这只会删除表,而不是整个数据库,所以它会快速运行。