マイグレーションとは
-
(DBに限らず、「移行」を意味する)
-
DBのマイグレーションとは、「DBの変更履歴を残していくこと」
(Gitで変更を管理するみたいなイメージ) -
Anadroidでは(←Anadroid以外を知らないだけですが・・・)マイグレーションをしなくても、一応DBの更新は可能
ただ、マイグレーションをした方が、バグとかが起きた場合に、切り分けができるので嬉しい
また、DB構造がサーバ側に一部依存していた場合、サーバ側でのバージョンを落とした際に、合わせてDBバージョンを簡単に切り替えることもできる -
マイグレーションを使用した際は、現在の最新のDBとマイグレーションで作成した内容を比較して一つでも異なるテストで警告が出るようになる
→間違ったままアプリを動かすと、無限にループしたりするらしいので、その対策として警告が出るようになる
マイグレーションを行う時の実装
-
Room.databaseBuilder
をしているところで、addMigrations()
メソッドを使うとマイグレーションができる
アプリのDBバージョンが上がっている場合、アプリ起動時にDBなどのデータの初期化が行われる
参考サイト
関連記事