目前我了解flyway有命令行支持。我们作为开发人员(或devops :))我们使用jenkins和标准工具链自动部署。
问题是当我们进行应用程序发布时,我们必须应用数据库补丁。我们绝对可以自动化它们;但是我们组织的流程说“我们有DBA需要在申请之前检查你的sql”。
我们知道它相对无用,但我们仍然需要支持它。你能建议一种做这些的方法吗?我的意思是can / does flyway有钩子告诉我们将应用迁移sql的列表吗?并在屏幕或其他东西上打印,然后DBA可以执行相同的操作吗?
或者我们可以做一些插件来做同样的事情吗?
非常感谢flyway团队的帮助。
这只是阻止我们在实际应用中使用flyway的原因。
答案 0 :(得分:2)
这个答案大约6个月太晚了,对不起,而且你做错了什么'答案。
代码审查通常被认为是一件好事,这适用于数据库脚本,就像java / es / go / c ++ / cobol /无论代码一样多。但是,为了有效,应在编写代码后尽快进行审查。作为应用程序发布的一部分进行审查 - 对任何环境 - 都为时已晚。到那时,代码可能很冷,而且,它已经超越了发展和变化的发生点。基本上,在现阶段进行评论已经太迟了。
实际上,您需要让您的DBA作为开发过程的一部分进行审核,而不是这样做。通过这种方式,他们永远不会尝试运行未经审核的脚本,并且您将能够完全自动化使用flyway(或您喜欢的任何其他工具)。
希望这有帮助。