带有 loadData 的 Liquibase SYSDATE

Liquibase SYSDATE with loadData

我正在尝试使用 loadData 加载 CSV 文件,我的两列是日期时间。我不想将日期时间放入 csv 文件,而是使用当前系统时间 --> SYSDATA(使用 Oracle)。

我尝试了下面详述的几件事,但没有奏效:

文件:

CONFIGURATION_ID~SERVICE_NAME~CATEGORY~CONFIGURATION_KEY~CONFIGURATION_VALUE~CREATE_TS~CREATED_BY~UPDATED_BY
3590~MobileCloudWallet~SYSTEM_PROPERTIES~VTS.Wallet.Provider.Type~XX,UGO,APPLE~26-SEP-16 09.52.05.708089000 AM~SYSTEM~
3591~MobileCloudWallet~SYSTEM_PROPERTIES~VTS.Wallet.Provider.Type.UGO.IneligibleCardList~4085869-4085869,4085868-4085868,4085860-4085860~26-SEP-16 09.52.05.730864000 AM~SYSTEM~
3592~MobileCloudWallet~SYSTEM_PROPERTIES~VTS.Credentials.Purpose.Type~Payment~26-SEP-16 09.52.05.740717000 AM~SYSTEM~

我试过的

A

<loadData encoding="UTF-8"
            file="src/main/resources/data/configuration.tsv" quotchar=""
            separator="~" tableName="CONFIGURATION">
            <column name="CONFIGURATION_ID" type="NUMERIC" />
            <column name="SERVICE_NAME" type="STRING" />
            <column name="CATEGORY" type="STRING" />
            <column name="CONFIGURATION_KEY" type="STRING" />
            <column name="CONFIGURATION_VALUE" type="STRING" />
            <column name="CREATE_TS" type="DATETIME" valueDate="SYSDATE" />
            <column name="CREATED_BY" type="STRING" />
            <column name="UPDATED_TS" type="DATE" valueDate="SYSDATE"/>
            <column name="UPDATED_BY" type="STRING" />
        </loadData>

B

<property name="now" value="sysdate" dbms="oracle" />

<changeSet...>
<loadData encoding="UTF-8"
            file="src/main/resources/data/configuration.tsv" quotchar=""
            separator="~" tableName="CONFIGURATION">
            <column name="CONFIGURATION_ID" type="NUMERIC" />
            <column name="SERVICE_NAME" type="STRING" />
            <column name="CATEGORY" type="STRING" />
            <column name="CONFIGURATION_KEY" type="STRING" />
            <column name="CONFIGURATION_VALUE" type="STRING" />
            <column name="CREATE_TS" type="DATETIME" defaultValueComputed="${now}" />
            <column name="CREATED_BY" type="STRING" />
            <column name="UPDATED_TS" type="DATE" defaultValueComputed="${now}"/>
            <column name="UPDATED_BY" type="STRING" />
        </loadData>
</changeset>

我想多了。我将 CSV 中数据列的值设置为 CURRENT_TIMESTAMP,将 loadUpdateData 中的列 def 保留为日期并删除 defaultValueComputed/valueDate。效果很好。