2014-01-10 114 views
0

最近我在web2py上工作postgresql我在我的表中做了很少的更改添加新的字段與fake_migration_all = true它確實更新我的.table文件,但兩個新添加的字段不能在postgres數據庫表中更改和我也試過fake_migration_all = false,也刪除mu .table文件,但它仍然沒有幫助改變我的表是否能夠在數據表中添加兩個字段Web2py postgreSQL數據庫

任何更好的解決方案可用,以便我不應該刪除我的數據表和字段也應被修改/添加在我的表中,所以我的數據不應該是零星

回答

0

fake_migrate_all不做任何實際的遷移(因此「假」) - 它只是確保metad在.table文件中,ata與當前的一組表定義匹配(並且因此與實際的數據庫匹配,假設表定義實際上與數據庫匹配)。

如果你想要做的數據庫的實際遷移,那麼你需要確保你沒有migrate_enabled=False在調用DAL(),也沒有在相關db.define_table()電話migrate=False。除非您明確將其設置爲false,否則默認情況下會啓用遷移。

在遷移之前備份數據庫總是一個好主意。

+0

什麼將是更好的解決方案,現在我不能改變我的數據庫 – user1529780

+0

如果你刪除'fake_migrate_all = True'並刪除相關表的.table文件然後發出請求來觸發遷移,會發生什麼? – Anthony

+0

它只是告訴我表已經存在的錯誤 – user1529780