0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Realmマイグレーションエラー

Posted at

はじめに

私は最近プログラミングスクールにて学習をスタートした初学者で、学習していく中で疑問に思ったことや苦労したことなどについて記事を書いております。

知識が浅はかですので、間違っている部分があるかもしれません。
あらかじめご了承ください。

また、今回は自分用に残したいと思います。

Realmマイグレーションエラー

RealmSwiftをPodsインストールしてアプリ開発をする中で、下記のようなエラーが発生しました。

Thread 1: Fatal error: Failed to instantiate Realm: Error Domain=io.realm Code=10 "Migration is required due to the following errors:

  • Property 'QuoteDataModel.quoteLabel' has been removed.
  • Property 'QuoteDataModel.characterLabel' has been removed.
  • Property 'QuoteDataModel.quote' has been added.
  • Property 'QuoteDataModel.part' has been added.
  • Property 'QuoteDataModel.characterName' has been added." UserInfo={Error Name=SchemaMismatch, NSLocalizedDescription=Migration is required due to the following errors:

スクリーンショット 2024-06-16 23.58.00.png

Realmマイグレーションエラーとは?

モデルの定義が書き変わってしまったので、Realm側が「どっちを信じればいいんだ??」
と言っているエラーです。

もう少し掘り下げると、

マイグレーションエラーは、Realmデータベースのスキーマ(構造)が変更された際に発生します。スキーマが変更されると、Realmは古いスキーマのデータを新しいスキーマに適合させるためにマイグレーションが必要になります。

解消法

とても簡単で、

一度アプリを削除します。

なぜアプリを削除で解消されるのか?

アプリを削除すると、そのアプリが利用していたすべてのデータがデバイスから削除されます。これにはRealmデータベースも含まれます。アプリを再インストールすると、新しいスキーマでデータベースが再生成されるため、マイグレーションの問題が発生しなくなります。

おわりに

Realmを使う際に、必要になる知識だと思うので
今回このようなエラーに出会えてよかったです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?