Flyway与Git集成并连接到Snowflake

时间:2019-02-22 20:12:46

标签: git flyway snowflake-datawarehouse

我们有一个包含多个表的现有数据库,并且每次对某个表的模式进行任何更改时,都必须运行一些手动脚本以避免丢失任何数据。 我们正在寻找可以与Git存储库集成并为数据库生成更新的DDL的软件。

我遇到了Flyway数据库迁移工具,遍历文档时遇到了有关与代码库集成的问题,在代码库中推送对数据库架构的更改。

FLyway也可以与Snowflake一起使用。如果是,我可以在哪里添加所需的jdbc驱动程序以连接到数据库,以及Snowflake连接的.conf文件是什么。

3 个答案:

答案 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>