在Liquibase中使用默认值定义列



我正在尝试使用liquidbase在Postgres中调用current_timestamp函数,但我不知道如何做到这一点。我可以在SQL标签内做吗?如果有人能帮我想出更好的主意,我将不胜感激。

你需要做的是使用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"/>

最新更新