使用 AWS Amplify 更新 DynamoDB 架构

DynamoDB schema updates with AWS Amplify

根据 AWS Amplify 文档:

很明显 amplify push 为每个@model 创建了一个 DynamoDB table。

我的问题与架构更新有关:

你试过用这个编译模式吗:

amplify api gql-compile

尝试运行

amplify codegen models

在做

之前
amplify push

DynamoDB 是 schema-less,只要您不尝试更改其 哈希键 或 [=16=,它就不会关心您的应用程序架构]范围键

因此,数据存储端实际上没有发生任何事情。如果您删除一个键并在架构中添加一个新键,那么您的 应用程序 将开始搜索并将数据写入新键。从现在起将简单地忽略旧密钥,但现有数据将保留在数据存储中。

如果你想重命名一个键,那么你必须自己通过table上的批量更新来迁移数据。有很多方法可以做到这一点,最简单的方法是扫描 table 并对找到的项目执行更新。