放大 api 推送不会更新云中的架构并在本地恢复

Posted

技术标签:

【中文标题】放大 api 推送不会更新云中的架构并在本地恢复【英文标题】:amplify api push does not update schema in cloud and reverts locally 【发布时间】:2020-02-07 08:13:22 【问题描述】:

我在带有 AppSync、Cognito 和 GraphQL 的 React 应用程序中使用了基于 AWS 的无服务器架构。过去,我能够在本地更新我的 graphql 架构并运行 amplify api push,它成功地将我的所有更改推送到云端。

最近我一直在尝试通过amplify api push 更新云,就像我在通行证中所做的那样,终端显示“所有资源都在云中更新”。但是,它会将我的架构恢复为上次推送时的架构版本。不用说,它也没有在云端更新。

终端中没有显示错误消息。

我想做的改变如下:

之前-

type Topic @model 
  id: ID!
  postID: ID!
  name: String!

之后-

type Topic @model 
  id: ID!
  name: String!

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

除了确保您正在编辑正确的schema.graphql 之外,请确保在调用任何amplify 命令(如amplify pushamplify pull.)时位于应用程序的根目录中您可能正在编辑不同的schema.graphql来自你正在推动的人。

【讨论】:

【参考方案2】:

您是否更改了父目录/文件夹名称? 一旦我更改了项目的父目录/文件夹名称并放大推送停止工作。 将目录/文件夹名称恢复为原始名称时修复了此问题。

【讨论】:

【参考方案3】:

解决方案

确保您在 amplify/backend/api 而不是 current-cloud-backend/api 目录中编辑 schema.graphql

【讨论】:

当我偶尔做 Amplify 项目时,这总是让我很头疼……

以上是关于放大 api 推送不会更新云中的架构并在本地恢复的主要内容,如果未能解决你的问题,请参考以下文章

Git混淆-如何将本地更改恢复为最新的远程推送?

数据备份恢复软件,防止勒索病毒

如何调试在云中运行的 Azure Web 角色?

用户在屏幕聊天时如何取消本地推送通知?

Flutter 使用极光推送进行api和本地定时推送

公有云中的Hadoop