几个问题从liquibase noob

时间:2009-10-21 19:24:27

标签: sql plsql liquibase

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

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

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

提前致谢。

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

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

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