在Liquibase

时间:2016-09-06 14:41:14

标签: postgresql liquibase

我正在尝试使用liquibase为Postgres中的列调用current_timestamp函数,但我不知道该怎么做。我可以在SQL标签内执行吗?如果有人能帮助我提出更好的想法,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

您需要做的是使用changelog参数并定义每个数据库类型替换的“now”或“current_timestamp”参数。

<databaseChangeLog>的顶部,通常在<changeset>之外,添加属性的每个数据库定义,如:

  <property name="now" value="now()" dbms="postgresql"/>

然后在你的变更集中使用

  <column name="Join_date" defaultValueFunction="${now}"/>

注意使用defaultValueFunction,让liquibase知道不要把它解析为日期或引用它。

这也很有效:

<column name="actiondate" type="timestamp with time zone" defaultValueComputed="current_timestamp"/>