使用 hasura 对现有数据库进行 Flyway 迁移 - PostgresSQL 备份

Flyway migration with existing database using hasura - PostgresSQL Backup

我开发了一个网络平台,该平台使用 PostgresSQL 数据库和 Hasura 来制作 GraphQL 界面。该平台部署在 Google 云环境中:数据库 运行 在 Google 云 SQL 实例中,Hasura 和一个简单的 node.js 服务器是运行在云端 运行 个实例。

无论如何,由于数据库应该不断增长,我需要一种安全可靠的方法来跟踪开发环境中所做的更改,以进一步将其部署到生产数据库中。

对数据库模式的编辑是使用 Hasura 控制台完成的,现在我只需要一个解决方案来跟踪在开发环境中所做的数据模式更改,以便仅将需要的更改部署到生产环境

阅读有关迁移的文章后,我发现 Flyway 是一种保留这些更改的解决方案。但是,对于Flyway在项目中的实现,还是存在一些顾虑。但是出现了几个问题:

没有太多需要跟踪生产中数据的变化。

是否有更好的选项来控制开发和生产数据库之间的更改?

如果在生产数据库上进行频繁的模式备份(使用 pgAdmin 备份工具)和 运行 恢复,它会做我想要的吗?

  1. 是否可以使用 PostgresSQL (pgAdmin) 备份生成的文件作为迁移?

我认为你走错了路。 Flyway 是关于您执行以传播数据库版本的迁移脚本。备份文件包含整个数据库。如果你想用它的新版本替换整个数据库,你可以简单地删除旧版本并创建新版本,但那样你会丢失数据。您当然可以使用 flyway 为您恢复备份,但那样您将只能获得版本 table。如果您要更新多个版本,那么将执行不需要的多次恢复。

  1. 如何从开发数据库迁移到生产数据库?只需从 Google 云 SQL 添加远程 url 即可进行迁移?

我尝试了 google'ing(输入“Google Cloud SQL flyway”),第一个结果让我找到了 Umberto D'Ovido post Setup Flyway with Google Cloud SQL 我相信只要稍加努力,您就会找到说明。