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