使用 Liquibase 添加创建日期 - 与数据库无关

Using Liquibase to Add a Create Date - Database Agnostic

我正在使用 Liquibase 删除特定行(如果存在)。

为了可能的回滚,我想重新插入该行。其中一列是 CREATEDATE,它基本上是当前时间。

由于业务原因,我不能假定此运行所针对的数据库是 Oracle 或 mySQL 数据库。

有没有一种方法可以通过使用服务器时间或同时包含 oracle 和 mySQL 值来插入当前日期?

目前我有

  <!-- NOW = CREATE_DATE FOR ROLLBACK -->  
  <property name="now" value="sysdate" dbms="oracle"/>
  <property name="now" value="now()" dbms="mysql"/>

并在回滚中

<column name="CREATEDATE" valueDate="${now}" />

这会始终默认为 mySQL 时间吗?它会根据正在使用的 DBMS 给我一个值吗?

理想情况下,我宁愿使用服务器时间。

Liquibase 应将 valueDate 标记中的字符串 "current_datetime" 转换为特定于数据库的当前时间函数,无需任何额外配置。

但是,

Current_datetime 的工作原理与您当前的设置基本相同。在这两种情况下,保存的 date/time 将是服务器时间而不是客户端时间。