レルムデータベースを取得しました。既存のレルムファイルのフィールド 'id'に無効なタイプの '文字列'
@PrimaryKey
private String id;
private String type;
private byte[] file;
それぞれのゲッターとセッターで。私は、次のコマンドでそのデータベースにレコードを追加しようとしている
:
try {
loadRealm(); // Realm.init(context) and myRealm = Realm.getDefaultInstance()
myRealm.executeTransaction(realm -> {
SolicitationDatabase solicitationDatabase = myRealm.createObject(SolicitationDatabase.class, UUID.randomUUID().toString());
solicitationDatabase.setType(mMainVariables.getType());
solicitationDatabase.setFile(new byte[0]); //This should be empty, I'm only storing a file IF a file is found.
});
} finally {
if(myRealm != null) {
myRealm.close();
}
}
エラー:
05-22 16:32:11.151 30366-30366/com.example.ga.realm3 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ga.realm3, PID: 30366
io.realm.exceptions.RealmMigrationNeededException: Invalid type 'String' for field 'id' in existing Realm file.
at io.realm.SolicitationDatabaseRealmProxy.validateTable(SolicitationDatabaseRealmProxy.java:605)
at io.realm.DefaultRealmModuleMediator.validateTable(DefaultRealmModuleMediator.java:56)
将来は、 'deleteRealmIfMigrationNeeded()'を使うか、マイグレーションステップを記述してください。 – geisshirt