私は自分のデータベースにバージョン管理を実装しようとしています。私は、次のコードを持っている: 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
おそらく。これをどうやってチェックするのですか?私はあなたがすでにアプリを持っている携帯電話にデプロイしたとき、アンインストールしたenの代わりに更新されたばかりだと思った。 –
あなたはあなたがあなたのアプリケーションをアンインストールした後にあなたのデータが拭き取られているかどうかチェックすべきだと思います。 –