我想實現版本控制到我的數據庫。我有下面的代碼:爲什麼我的SQLite數據庫在被更改時被刪除?
if (File.Exists (dbPath)) {
database = new SQLiteConnection(dbPath);
dbVersion = GetDatabaseVersion();
if (dbVersion != DATABASE_VERSION) {
CreateDatabase(dbPath);
database = new SQLiteConnection(dbPath);
SetDatabaseVersion(DATABASE_VERSION);
}
} else {
CreateDatabase(dbPath);
database = new SQLiteConnection(dbPath);
SetDatabaseVersion(DATABASE_VERSION);
}
當我運行的第一次預期File.Exists (dbPath)
返回false的代碼。當我停止應用程序並再次構建和部署時,File.Exists (dbPath)
返回true(如預期的那樣)並檢查版本。但是,當我更改數據庫中的條目(不是版本),並且我再次構建和部署時,File.Exists (dbPath)
返回false。所以我猜sqlite文件在被更改時會被刪除?
我想實現的是,當sqlite文件更改,但版本號仍然相同時,應用程序的數據庫不會更新。只有當版本不匹配時,才需要更新。
(它完全適用於iOS這種方式,順便說一句)
誰能幫助我?
在此先感謝。
當你構建和部署第二次(改變數據庫中的條目後),請勾選此框,該應用是否會在安裝更新之前有沒有可能從設備上卸載? – Levon
可能。我如何檢查這個?我想當你部署到已經有應用程序的手機時,它只會被更新,而不是卸載並重新安裝。 –
我想你應該檢查你的數據是否在你卸載你的應用程序後被擦除。 –