В настоящее время AWS Amplify не поддерживает автоматическую миграцию данных.То, что вы видите, следует ожидать с таблицей NoSQL без схемы. Цитирование документов :
Таблицы являются основными структурами данных в реляционных базах данных и в DynamoDB.Система управления реляционными базами данных (RDBMS) требует, чтобы вы определяли схему таблицы при ее создании.Напротив, таблицы DynamoDB не содержат схем - кроме первичного ключа, вам не нужно определять какие-либо атрибуты или типы данных во время создания таблицы.
Вам нужно перестать думатьресурсов, которые Amplify генерирует для вас как СУБД, и начните думать об этом с точки зрения базы данных NoSQL.Amplify использует хитрый трюк, чтобы позволить вам создавать схемы реляционных данных.Я рекомендую вам прочитать часть основных компонентов документации DynamoDB, чтобы понять, что такое первичные и (глобальные / локальные) вторичные индексы.Затем посмотрите это видео , которое объясняет, как Amplify создает отношения между таблицами.(Кстати, у большинства хорошо спроектированных бэкэндов DynamoDB есть только одна таблица - поэтому только одна директива @model
и никаких директив @connection
.)
Что происходит, если вы делаетеamplify push
Ваши изменения будут применены к конечной точке AppSync GraphQL.(Вы можете проверить это в своей консоли).Но существующие данные в DynamoDB остаются прежними.Если вы создаете новые данные, они будут следовать схеме вашего schema.graphql
файла.