我们有一个包含多个表的现有数据库,每次我们对某些表的模式进行任何更改时,我们都必须运行一些手动脚本以避免任何数据丢失。我们正在寻找可以与我们的Git仓库集成的软件,并为数据库生成更新的DDL。
我遇到了Flyway数据库迁移工具,并且通过文档有关于与代码仓库集成的问题,其中推送了对数据库模式的更改。
FLyway也适用于Snowflake。如果是的话,我在哪里可以添加所需的jdbc驱动程序以连接到数据库,以及什么是.conf文件的Snowflake连接。
官方Flyway目前不适用于Snowflake(你可以看到https://github.com/flyway/flyway/pull/2274)。根据这个讨论,似乎存在一个兼容Snowflake的fork,但是我不建议在没有大量检查的情况下在生产系统上使用它,但是如果你真的需要它可能值得一看。
关于Flyway与Git的集成,您可以在您的CI过程中集成Flyway,方法是拉动Flyway Docker映像(https://github.com/flyway/flyway-docker) - 或者如果您决定使用与Snowflake兼容的分支,则使用您自己的映像 - 并针对您的目标运行migrate命令数据库(一个或多个)。