使用Amplify更改DynamoDB的主键

image.png

解决方法:使用@primaryKey。

修改位于Amplify应用程序文件夹的backend\api\APP_NAME下的schema.graphql。

# 変更前
type MetcomDevices @model @auth(rules: [{allow: public}]) {
  id: ID!
  DeviceID: String!
  Name: String
  AppID: String
  Latitude: Float
  Longitude: Float
  Accuracy: Float
  Calibration: Boolean
}

# 変更後
type MetcomDevices @model @auth(rules: [{allow: public}]) {
  DeviceID: String! @primaryKey
  Name: String
  AppID: String
  Latitude: Float
  Longitude: Float
  Accuracy: Float
  Calibration: Boolean
}

只需给希望设定为主键的字段添加@primaryKey注解。在Amplify GraphQL Transformer v2之后,不再能使用@key指定方法。

在修改模式后,我想要进行推送,但是如果更改主键,据说会清除DynamoDB上相关表的信息,因此我需要明确指定,然后进行推送。只需添加”amplify push –allow-destructive-graphql-schema-updates”选项即可。

确定

image.png
image.png
广告
将在 10 秒后关闭
bannerAds