Realm Studio でのスキーマの変更
Overview
Realm Studio は、スキーマに重大じゃない変更を加えるためのツールを提供します。 You can:
重要
Realm Studio でスキーマに変更を加える場合、クライアント アプリで使用する際に Realm ファイルを移行する必要があります。
スキーマを変更した後、Realm Studio 内から新しいプロパティとクラスに値を追加できます。 新しいクラスとプロパティに基づいて新しいオブジェクトを作成することもできます。 これにより、必要なオブジェクトモデルが取得されるまで、スキーマへの変更を試すためのグラフィカル ユーザー インターフェース(GUI)ツールが提供されます。
変更が完了したら、Realm Studio からモデル定義をエクスポートできます。 これにより、選択言語で新しいクラス定義が提供され、コードにドロップできるようになります。
また、Realm ファイルの更新されたバージョンを保存して、アプリで使用することもできます。 更新されたスキーマを含む Realm ファイルを保存する場合、アプリ内で使用するために移行を実行する必要があります。
スキーマへのクラスの追加
スキーマに新しいクラスを追加するには:
Realm Studio ウィンドウの左上隅にあるClassesヘッダーの横にある +ボタンを押します
新しいクラスに名前を付ける
プライマリキーの指定(任意)
Add classボタンを押します
これで、左側のサイドバーに表示されるクラス リストに新しいクラスが表示されます。
クラスにプロパティを追加する
クラスにプロパティを追加するには
左側のサイドバーで、プロパティを追加するクラスを選択します
Realm Studio ウィンドウの右上隅にあるCreate {Class Name}ボタンの下の+ボタンを押します
新しいプロパティに名前を付ける
ドロップダウン セレクターから新しいプロパティのタイプを選択します
チェックボックスをオンにして、必要に応じてMake this a list of stringsとOptional: Allow a null valueを選択します
Add propertyボタンを押します
新しいプロパティが他のクラス プロパティと合わせて表示されます。
クラスにすでにオブジェクトがある場合は、各値のプロパティの フィールドをクリックすることで、このプロパティに値を追加できます。 これがオブジェクトを含まない新しいクラスである場合は、クラスに新しいオブジェクトを作成できます。
モデル定義の保存
スキーマに変更を加えたら、新しいスキーマをクラス定義としてエクスポートできます。
更新されたクラス定義をエクスポートするには、次の手順に従います。
File > Save model definitions にGoし、ご希望の言語の選択します。 サポートされている言語は、 Swift 、 JavaScript 、 Typescript 、 Java 、 Kotlin 、およびC#です。
新しいクラス定義の名前と宛先を指定します。 Saveボタンを押します。
宛先ディレクトリがまだ存在しない場合は、Realm Studio によってディレクトリが作成されます。 内部には、新しい追加を含むクラスとプロパティの完全なリストを含む ファイルが含まれます。
これは、スキーマを反復処理するのに最適なツールです。 クロスプラットフォーム開発のために、複数の言語でクラス定義をエクスポートすることもできます。
移行の実行
スキーマに変更を加えた後、新しいプロパティに値を追加したり、新しい オブジェクト を作成したりすることもできます。 この更新された Realm ファイルをアプリで使用する場合は、 データを保存できます。 ただし、クライアント アプリで使用する前に、移行を実行する必要があります。
Realm では、スキーマを変更するときにバージョンを単調に増加させる必要があります。 移行せずに更新されたオブジェクト スキーマを使用して Realm を開こうとすると、クライアントはエラーをスローします。
この移行を完了する方法については、SDK の移行ガイドを参照してください。