Reactjs 更新schema.graphql后,Dynamo DB未在表中显示正确的字段

Reactjs 更新schema.graphql后,Dynamo DB未在表中显示正确的字段,reactjs,amazon-dynamodb,aws-amplify,aws-appsync,Reactjs,Amazon Dynamodb,Aws Amplify,Aws Appsync,我的React项目中有一个schema.graphql文件。 当我更新模式并删除属性时,dynamoDB表不会改变。新字段不会出现,而我删除的旧字段仍然保留。 我多次尝试放大push,但都没有改变。 如何解决此问题或同步表 谢谢。目前AWS Amplify不支持数据的自动迁移。您看到的是一个无模式的NoSQL表: 表是关系数据库和DynamoDB中的基本数据结构。关系数据库管理系统(RDBMS)要求您在创建表时定义表的模式。相反,DynamoDB表是无模式的——除了主键之外,您不需要在表创建时定

我的React项目中有一个schema.graphql文件。 当我更新模式并删除属性时,dynamoDB表不会改变。新字段不会出现,而我删除的旧字段仍然保留。 我多次尝试
放大push
,但都没有改变。 如何解决此问题或同步表


谢谢。

目前AWS Amplify不支持数据的自动迁移。您看到的是一个无模式的NoSQL表:

表是关系数据库和DynamoDB中的基本数据结构。关系数据库管理系统(RDBMS)要求您在创建表时定义表的模式。相反,DynamoDB表是无模式的——除了主键之外,您不需要在表创建时定义任何属性或数据类型

您需要停止将放大为您生成的资源作为RDBMS来考虑,而是从NoSQL数据库的角度来考虑它。Amplify使用一个巧妙的技巧来创建关系数据方案。我建议您阅读DynamoDB文档的部分,以了解什么是主索引和(全局/本地)辅助索引。然后,观看Amplify如何创建表之间的关系。(顺便说一句,大多数设计良好的DynamoDB后端只有一个-so指令,只有一个
@model
指令,没有
@connection
指令。)

如果您执行
放大推送
,您的更改将应用于AppSync GraphQL端点。(您可能希望在控制台中验证这一点)。但是,DynamoDB中的现有数据保持不变。如果创建新数据,它将遵循
schema.graphql
文件的模式