はじめに
皆さん。こんにちは! DreamHanksのエルムです。
今回はスキーマの更新について説明していきます。
前回の記事は[第19回]Amplifyの他のメソッドです。
スキーマを更新する方法
スキーマを編集し、amplify codegenモデルを再実行します。
1 2 3 4 5 6 7 8 9 10 11 12 |
enum PostStatus { ACTIVE INACTIVE STAGED # 新しいenumの値 } type Post @model { id: ID! title: String! rating: Int! status: PostStatus! } |
これは、変更を評価し、基礎となるオンデバイスのストレージ構造に影響を与えるような変更が検出された場合、バージョン付きのハッシュを作成します。例えば、タイプのadded/deleted、フィールドのrequired/optionalなどです。DataStoreは起動時にこのバージョンを評価し、変更があった場合はデバイス上のローカルアイテムが削除され、クラウドと同期している場合はAppSyncから完全な同期が行われます。
ローカル・マイグレーション
現在、デバイス上でのローカルマイグレーション(開発者が管理するマイグレーション)はサポートされていません。そのため、スキーマが変更されると、ローカルデータが失われてしまいます。
クラウドと同期している場合、AppSyncのバックエンドにあるデータの構造やアイテムは、このプロセスの一部としては触れられません。
トラブルシューティング:DynamoDBの制限により、一度に1つの@keyしか追加できません。クラウドシンクが有効な場合は、変更の間にamplify pushを実行するようにしてください。
終わりに
今回の記事は以上になります。
次回は [第21回]Amplify DataStoreの仕組みを学びましょう。
ご覧いただきありがとうございます。
コメント