2015-09-05 71 views
0

我有C++應用程序(Linux),它通過API使用sqlite3數據庫。目前數據庫以RPM的形式出現在二進制文件中。該數據庫已經具有所有必需的表格。我的應用程序在運行時不會嘗試更改任何架構。 現在我必須支持下一版本的數據庫模式升級,因爲模式可能會改變。任何想法我怎麼能做到這一點?使用alembic Sqlite3架構升級

回答

0

Alembic絕對可以做你想做的,但看到你的應用程序是用C++而不是Python,所以在python中維護表的所有聲明模型可能不值得。看到你只使用sqlite,我會建議手動編寫SQL更新語句,然後從alembics書中取出一個葉子,並創建一個帶有一個條目的版本表 - 當前數據庫版本。

當您的應用程序啓動時,請檢查當前數據庫版本並按順序運行遷移腳本,直到您將數據庫遷移到最新版本。

PS:幫你一個忙,也寫降級腳本。如果您因任何原因需要回滾,這些將很方便