Liquibase:加载日期与今天(加上一天)相关的数据

时间:2020-01-03 09:29:48

标签: java spring hibernate liquibase

我正在使用liquibase来管理我的项目,并在启动时按如下方式初始化数据库。

我希望能够根据具体日期(例如明天的上午9点)来初始化日期。怎么做?

added_entity_Booking.xml:

<databaseChangeLog ...>
    <changeSet id="20191214170407-1" author="jhipster">
        <createTable tableName="booking">
            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
                <constraints primaryKey="true" nullable="false"/>
            </column>
            <column name="date" type="datetime">
                <constraints nullable="true" />
            </column>
            ...
        </createTable>
        <dropDefaultValue tableName="booking" columnName="date" columnDataType="datetime"/>
    </changeSet>

    <changeSet id="20191214170407-1-data" author="jhipster" context="faker">
        <loadData
                  file="config/liquibase/fake-data/booking.csv"
                  separator=";"
                  tableName="booking">
            <column name="id" type="numeric"/>
            <column name="date" type="datetime"/>
            ...
        </loadData>
    </changeSet>
</databaseChangeLog>

booking.csv:

id;date;...
1;2019-12-15T01:54:50;...
2;2019-12-14T14:55:28;...
3;2019-12-15T02:06:37;...
4;2019-12-14T15:30:05;...

1 个答案:

答案 0 :(得分:0)

根据liquibase docs,您可以根据当前日期计算日期-使用下面的postgresql示例:

<column name="date" ... defaultValueComputed="now() + interval '60 days'"/>