3
例如,Android系統平臺擁有類似:在Ubuntu .deb軟件包中是否有升級/創建數據庫的機制?
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("DROP TABLE ....");
db.execSQL("ATER TABLE ....");
onCreate(db);
}
這是非常好的處理升級等
是否有.deb軟件包了類似的策略?我知道我可以使用debian/control,debian/preinst來獲得當前版本,debian/postinst來處理數據庫升級,但它不是一個解決方案。
而且我會假設「$ oldver」是你在preinst上創建的環境變量,例如? – 2012-07-30 00:36:55
不,$ oldver由dpkg提供爲$ 2。它被分配在第三行。在第一次安裝時,它將是空的。 – 2012-07-30 13:43:23
我沒有注意到oldver = $ 2。謝謝你,你釘住了我的問題。我以爲我必須手動完成所有的工作,比如在安裝(preinst)之前檢索當前版本,等等。 – 2012-07-30 21:12:18