assetsからコピーした.sqliteのUpgrade
探せども方法が分からず。
結論から言うと、アプリ内の.sqliteファイルを削除してコピーし直せば大丈夫みたい?
前提
asstesから.sqliteファイルをコピーする方法は下記サイトで
Y.A.M の 雑記帳: Android あらかじめ作成した SQLite database をアプリに取り込む
http://y-anz-m.blogspot.jp/2011/01/android-sqline-database.html
やりたいこと
.sqliteを更新したいけど、テーブル構造を変えてしまったりしてるのでdrop tableとかalter tableとかは大変…
→なので、外部で.sqliteを作り直してアプリ内のDBは上書きしてしまいたい!
かなり荒っぽいけど削除後に再度コピー処理で対応。
@Override public void onUpgrade(SQLiteDatabase db, int oldVer, int newVer) { File dbPath = context.getDatabasePath(DB_NAME); // DB削除 if (dbPath.exists()) { dbPath.delete(); } }