如何删除并重新创建由 mock api 创建的本地 dynamodb/appsync/amplify 数据库?

Posted

技术标签:

【中文标题】如何删除并重新创建由 mock api 创建的本地 dynamodb/appsync/amplify 数据库?【英文标题】:How to drop and recreate local dynamodb/appsync/amplify database created by mock api? 【发布时间】:2021-02-21 03:03:37 【问题描述】:

我正在使用 AWS Amplify 构建 Web 应用程序。我正在使用 Appsync 和 DynamoDb,并且我已经定义了我的 GraphQL 架构。现在,Amplify 提供了通过从命令行运行“amplify mock api”来测试本地 GraphQL 端点的能力。我这样做了,它成功地为我创建了一些本地 GraphQL 端点,我能够插入一些数据并进行一些本地查询。 (当我第一次运行“amplify mock api”时,我在控制台上收到了一些我的表已创建的消息。)

此后我对我的 GraphQL 架构进行了相当大的更改,包括键、排序键等。我认为我的所有更改都没有成功应用于我的本地 api 和数据库表。所以我基本上只是想完全删除我的本地“数据库”,以便“放大模拟 api”可以根据我的新模式为我重新生成一个新的本地数据库。我该怎么做呢?我不知道这个放大本地数据库驻留在哪里或它使用什么底层技术。 (否则我将直接连接到数据库并删除所有表以强制重新创建。)我尝试了“放大删除 api”,它删除了本地端点。我什至将它推送到 AWS(我目前处于开发模式,所以我不介意破坏我的 AWS 环境。)然后我再次从头开始“放大添加 api”并再次输入我的模式。但是,如果我运行“放大模拟 api”,那么它不会重新创建表。端点启动,如果我执行 GraphQL 查询,我会取回我最初添加的数据。这意味着这些表仍然存在。

如何完全删除本地“模拟”Amplify Appsync GraphQL 端点和数据库以强制重新创建? (如果相关,我使用的是 Mac)。

【问题讨论】:

【参考方案1】:

它最终变得非常简单。 Amplify 在 ./amplify/mock-data 中创建模拟数据。所以要删除数据库并重新创建它,我只是在我的项目中删除了这个目录。 This 问题有助于了解模拟 API 和数据库设置的工作原理。

【讨论】:

以上是关于如何删除并重新创建由 mock api 创建的本地 dynamodb/appsync/amplify 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

关闭并重新启动可执行文件后,无法修改或删除由我的 .jar 可执行文件创建的文本文件

使用partialMockForObject做单例类mock,如何创建像“removeAllExpectations”这样的方法来删除所有记住的?

如何 mock 数据

在前端开发中mock后端数据

如何使用Postman创建模拟服务器后端API?

如何使用 Elasticbeanstalk 在亚马逊 RDS 中删除表并重新创建?