0

次のシナリオがあります。アプリは、データベース バージョン 4 で顧客に公開されます。

私はいくつかのバグ修正を行い、いくつかの機能を追加しました。このプロセスは私のモデルも変更したため、データベースも変更されました。

顧客がデバイスにインストールしたデータベースのバージョンを確認し、古いデータを新しいデータベースに移行するにはどうすればよいですか? ActiveAndroid ライブラリに onUpgrade メソッドなどはありますか?

4

4 に答える 4

2

ActiveAndroid のソースコードを詳しく調べたところ、解決策が見つかりました。ActiveAndroid は、アセット フォルダーにある sql-scripts を使用して、あるバージョンから別のバージョンに移行できます。

自然な並べ替えアルゴリズムを使用して、assets/migrations/ にあるすべての sql ファイルを並べ替えます。

見つかった各 SQL スクリプトは、その > oldVersion および <= newVersion の場合に実行されます

于 2013-02-23T21:33:36.143 に答える
0

を拡張するクラスを作成することをお勧めしますSQLiteOpenHelper。このクラスを介してデータベースを開くと、onUpgrade()必要に応じて自動的にメソッドが呼び出されます。このメソッドのパラメーターには、データベーススキーマの新旧のバージョン番号が含まれます。

于 2013-02-17T23:02:34.317 に答える
0

SQLiteOpenHelper を介してデータベースにアクセスし、適切なデータベースのバージョン管理を行う場合は、onUpgrade メソッドを使用してコードを実行し、データベースを更新できます。それ以外の場合は、カスタム ソリューションを実行する必要があります。

于 2013-02-17T22:55:39.637 に答える