この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
既存のデータを引き継ぎつつdbスキーマを変更する方法 [2015/12/11 11:55] sou [SQLiteOpenHelperの実装例] |
既存のデータを引き継ぎつつdbスキーマを変更する方法 [2016/01/24 19:10] (現在) sou |
||
---|---|---|---|
ライン 5: | ライン 5: | ||
===== SQLiteOpenHelperの実装例 ===== | ===== SQLiteOpenHelperの実装例 ===== | ||
仕様変更によりカラムが増えた例\\ | 仕様変更によりカラムが増えた例\\ | ||
- | テーブルfooにカラムageを追加し初期値として0を設定する\\ | + | \\ |
+ | テーブルfooにカラムageを追加し初期値として0を設定するSQL\\ | ||
ALTER TABLE foo ADD COLUMN age INTEGER DEFAULT 0\\ | ALTER TABLE foo ADD COLUMN age INTEGER DEFAULT 0\\ | ||
ライン 13: | ライン 14: | ||
* DB ver | * DB ver | ||
* DBスキーマを変更した場合、インクリメントする | * DBスキーマを変更した場合、インクリメントする | ||
- | * | ||
- | * +++++ 変更履歴 +++++ | ||
- | * v1 : ..... 20150101 t.sou | ||
- | * v2 : | ||
- | * .... | ||
*/ | */ | ||
public static final int DB_VERSION = 1; | public static final int DB_VERSION = 1; | ||
ライン 47: | ライン 43: | ||
case 2: | case 2: | ||
db.execSQL("ALTER TABLE "+TABLE_NAME+" ADD COLUMN age INTEGER NOT NULL DEFAULT 0"); | db.execSQL("ALTER TABLE "+TABLE_NAME+" ADD COLUMN age INTEGER NOT NULL DEFAULT 0"); | ||
+ | break; | ||
} | } | ||
} | } |