生成更新更改为增量脚本

时间:2012-01-20 12:29:26

标签: java spring h2 flyway

我使用H2 / J2EE / Spring应用程序,并使用Flyway更新生产服务器上的生产数据库 - 一切都很好。问题是将开发人员H2变化与生产H2合并(即生成flyway delta脚本)总是非常复杂。如何以后续历史方式跟踪所有数据库更改以生成这些SQL更改? (所有数据库更新都是使用admin前端完成的)?

2 个答案:

答案 0 :(得分:0)

您可以使用trace option,然后使用ConvertTraceFile工具从跟踪文件创建SQL脚本。

答案 1 :(得分:0)

所以没有人会分享你的知识 - 如何轻松收集数据库数据和架构的变化? :)因为我的临时解决方案是从他们的SVN签出h2(我的版本),并以下列方式修改org.h2.message.TraceSystem java类:

public void write(int level, String module, String s, Throwable t) {
    ...


            String s2 = s.toUpperCase();
            if (s2.indexOf("SELECT") != -1) {
                return; // :)
            }

            writeFile(format2(s2), t);

}

现在我至少能够抓住变化:)(使用ConvertTraceFile for .trace.db)