5

我从今天开始为一个项目评估liquibase

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

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

提前致谢。

4

3 回答 3

5

liquibase中有一个内置的createProcedure标签用于管理过程。最好的方法通常是将 or 标记与 runOnChange 结合起来,这样 liquibase 才会在您更新定义时更新您的过程。这样,您可以随着时间的推移在您的 changelog xml 文件之间进行差异,并查看过程是如何变化的。

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

于 2009-10-21T23:49:08.477 回答
2

我在尝试将 sql 标记用于存储过程、触发器和函数时遇到了问题,但在我的情况下,这些问题可证明是 MySQL JDBC 驱动程序的问题,而不是 Liquibase 本身的问题。我习惯的做法是按照 Nathan 的建议使用 sqlFile 重构,然后控制与变更日志相同的项目中的 SP/触发器/函数代码,并在源代码系统中对其进行版本控制。这使您可以像管理真正的源代码一样管理 SP/任何代码。

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

于 2010-10-17T04:16:11.113 回答
1

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

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

于 2009-10-21T19:39:48.633 回答