使用 AWS Amplify 更新 DynamoDB 架构

kku*_*ian 8 database-migration amazon-web-services amazon-dynamodb graphql aws-amplify

根据 AWS Amplify 文档:

amplify push为每个@model 创建一个 DynamoDB 表似乎很清楚。

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

  • 我想通过更新架构文档然后运行amplify push. 那正确吗?

  • 如何重命名模型或字段?如何amplify push知道重命名与删除旧的并添加新的?

  • 如何实现需要一些业务逻辑的迁移,例如,更新现有行的内容?已经解决了在没有 Amplify 的情况下执行此操作的问题,但尚不清楚这是否会与amplify push可能尝试执行的操作发生冲突。

ahe*_*rve 1

DynamoDB 是无架构的,只要您不尝试更改其哈希键范围键,它就不会关心您的应用程序架构

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

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