有什么方法可以使用Azure Devops Pipelines在本地Postgres SQL中实现CI / CD?

时间:2019-05-09 06:31:36

标签: postgresql automation

我想在azure管道上创建一键式部署,以将Postgres Sql更改从开发环境迁移到QA环境,这与我们使用SQL Server Database项目实现的功能类似,其中Powershell脚本将更改部署到远程服务器。

我尝试了pg_dump和psql命令,这些命令将创建转储文件并将其还原到远程服务器上。它不执行差异(即比较源和目标上的数据库更改,仅复制丢失的更改)

1 个答案:

答案 0 :(得分:0)

您偶然发现了Postgres生态系统中缺少的功能之一。使用Postgres自己的工具解决迁移的一种更优雅的方法是将迁移打包为Postgres Extension。这需要您自己生成部署脚本,但这是应用和打包部署的一种简便方法。

有许多商业工具将协助完成此过程,例如DaticalLiquibaseFlyway。请注意,其中某些仍然需要您自己生成更改语句,有些尝试为您创建更改语句。

生成变更声明是完全不同的动物,我建议您查看Postgres的架构差异工具,以找到最适合您需求的套件。