2011-03-31 55 views
8

在生產階段,我很可能會考慮遷移功能(包括版本等),但在開發階段時,我想知道處理任何更改的最常用方法在我的models.py會是?該應用程序使用SQLAlchemy進行設置。如何處理金字塔中的模型更改

我是比較新的python web框架。我的背景是PHP,最近我完成了一個使用Symfony 1.4的項目,在那裏我通常可以做symfony doctrine:build --all --and-load,這將負責重建模型類,重新創建數據庫以及加載數據夾具等幾件事情。

目前我所做的只是放下數據庫,重新創建數據庫,然後使用貼紙重新創建表格等。

這可能是一個noob問題,但你去。

回答

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 

謝天謝地,這隻會刪除表,而不是整個數據庫,因此它運行速度很快。

4