0

目前我知道flyway有命令行支持。作为开发人员(或 devops :)),我们使用 jenkins 和我们拥有的标准工具链自动部署。

问题是当我们发布应用程序时,我们必须应用数据库补丁。我们绝对可以自动化它们;但是我们组织的流程说“我们有 DBA 需要在你申请之前审查你的 sql”。

我们知道它相对没用,但我们仍然需要支持它。你能建议一种方法吗?我的意思是,flyway 是否可以/是否有钩子告诉我们将应用迁移 sql 列表?并在屏幕上打印或其他东西,然后DBA可以执行相同的操作吗?

或者我们可以做一些插件来做同样的事情吗?

非常感谢flyway团队的帮助。

这只是阻止我们在实际应用中使用 flyway 的唯一原因。

4

1 回答 1

2

这个答案已经晚了大约 6 个月,抱歉,这是一个“你做错事”的答案。

代码审查通常被认为是一件好事,这与 java/es/go/c++/cobol/whatever 代码一样适用于数据库脚本。但是,为了有效,应该在编写代码后尽快进行审查。作为应用程序发布的一部分进行审查——对于任何环境——都为时已晚。到那时,代码可能很冷,而且,它已经超过了开发和变化发生的地步。基本上,在这个阶段进行评论为时已晚。

而不是这样做,您需要让您的 DBA 参与作为开发过程的一部分进行审查——事实上,越早越好。这样他们就永远不会尝试运行未经审查的脚本,并且您将能够使用 flyway(或您喜欢的任何其他工具)完全自动化。

希望这可以帮助。

于 2015-12-03T16:47:52.237 回答