我从今天开始评估 liquibase 的项目。

有没有人用它来创建程序,函数,基本上所有的plsql东西?

如果没有,是否可以在xml文件中编写嵌入式sql代码?

提前致谢。

有帮助吗?

解决方案

liquibase中有一个内置的 createProcedure 标签,用于管理程序。最好的方法通常是将or或tags与runOnChange结合使用,这样liquibase只会在您更新定义时更新您的过程。这样,您可以在更改日志xml文件之间进行差异,并查看过程如何更改。

使用 sqlFile 标记来引用每个存储过程的文件也是流行,或者,就像你说的,你可以使用 sql 标签进行内联自定义sql。

其他提示

我遇到了尝试使用sql标签存储过程,触发器和函数的问题,但在我的情况下,这些问题可能是MySQL JDBC驱动程序的问题,而不是Liquibase本身。我已经解决的做法是使用nathan建议的sqlFile重构,然后控制与更改日志在同一项目中的SP /触发器/功能代码,并在源代码系统中进行版本控制。这使您可以管理SP /任何代码,就像它是真正的源代码一样。

设置runOnChange =" true"在包含sqlFile重构的changeSet中是必不可少的。正是这个开关(谢谢你,Nathan)实现了对程序数据库代码的真正源代码控制。

虽然我没有将liquibase用于存储过程,但我对Liquibase有一些经验,可以进行更多通用操作。

可以编写自定义sql,嵌入在xml文件中或从外部文件引用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top