我们有一个包含多个表的现有数据库,并且每次对某个表的模式进行任何更改时,都必须运行一些手动脚本以避免丢失任何数据。 我们正在寻找可以与Git存储库集成并为数据库生成更新的DDL的软件。
我遇到了Flyway数据库迁移工具,遍历文档时遇到了有关与代码库集成的问题,在代码库中推送对数据库架构的更改。
FLyway也可以与Snowflake一起使用。如果是,我可以在哪里添加所需的jdbc驱动程序以连接到数据库,以及Snowflake连接的.conf文件是什么。
答案 0 :(得分:1)
仅作记录,这显然已经改变。
现在,支持雪花
https://flywaydb.org/documentation/database/snowflake
尽管当前版本(flyway 6.2.0)会发出警告...
警告:建议升级Flyway:Snowflake 4.2较此版本更新 版本的Flyway和支持尚未经过测试。
答案 1 :(得分:0)
目前,Flyway不适用于Snowflake(如您在https://github.com/flyway/flyway/pull/2274上所见)。根据这次讨论,似乎已经存在一个与Snowflake兼容的分支,但是我不建议您在生产系统上不进行大量检查就使用它,但是如果您确实需要,可能值得一看。
关于将Flyway与Git集成,您可以通过以下方式将Flyway集成到CI流程中:拉出Flyway Docker映像(https://github.com/flyway/flyway-docker)-如果决定选择与Snowflake兼容的前叉,则可以使用自己的映像-并对您的目标数据库运行migration命令。
答案 2 :(得分:0)
我使用flyway 6.4.2,并且正在pom文件中使用此配置:
<execution>
<id>my_sf_migration</id>
<phase>compile</phase>
<goals>
<goal>migrate</goal>
</goals>
<configuration>
<!--This is where I got the driver wrong, that is why it was not working -->
<driver>net.snowflake.client.jdbc.SnowflakeDriver</driver>
<configFiles>
<configFile>./conf/flyway_sf.conf</configFile>
</configFiles>
</configuration>
</execution>