2017-05-20 13 views

答えて

9

部屋のエンティティが現在のテーブルスキーマと一致すると仮定すると、同じデータベース/テーブルを使用し続けることができます。

ルーム作成時に初期化やデータベースのアップグレードされたマスターテーブルを管理して、あなたはあなたのデータベースのバージョンをインクリメントし、ダミーの移行を提供する必要があります。

@Database(entities = SomeEntity.class, version = EXISTING_VERSION + 1) 
public class MyDatabase extends RoomDatabase { 
    // ... 
} 

MyDatabase db = Room.databaseBuilder(context, MyDatabase.class, "db_name") 
        .addMigrations(new Migration(EXISTING_VERSION, EXISTING_VERSION + 1) { 
         @Override 
         public void migrate(SupportSQLiteDatabase database) { 
          // NOOP 
         } 
        }).build(); 
+0

はまだそれをテストしていませんが、私は」 データベース名パラメータはおそらく以前のデータベースと既存のデータベースを使用できるので、答えとしてマークします。 –

+0

この移行をテストする方法は分かりますか? https://developer.android.com/topic/libraries/architecture/room.html#testingを見てきましたが、既存のsqliteからの移行をテストする方法がわかりません。 – AdamMc331

関連する問題