Liquibase的XML changelog文件未包含在H2数据库中

时间:2018-08-20 16:01:56

标签: h2 liquibase

我的 db.changelog-master.yaml 文件具有以下内容。

databaseChangeLog:
- include:
    relativeToChangelogFile: true
    file: My-SQL-Changelog-file.sql

- include:
    relativeToChangelogFile: true
    file: My-XML-Changelog-file.xml

文件 My-SQL-Changelog-file.sql 具有以下内容。

--liquibase formatted sql
--changeset bshivare:1
insert into "CommandType" ("Id", "Name", "Description") values (130, 'User List', 'User List');

文件 My-XML-Changelog-file.xml 具有以下内容。

<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                   xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
    <changeSet author="aum" id="1">
        <createTable tableName="EnvironmentUser">
            <column name="Id" type="INT">
                <constraints nullable="false" primaryKey="true" primaryKeyName="Pk_EnvironmentUser"/>
            </column>
            <column name="UserId" type="UUID">
                <constraints unique="true" uniqueConstraintName="UserId" nullable="false"/>
            </column>
            <column name="EnvironmentId" type="INT">
                <constraints foreignKeyName="Fk_EnvUser_EnvironmentId" referencedTableName="Environment" unique="true"
                             uniqueConstraintName="EnvironmentId" nullable="false"/>
            </column>
            <column name="FirstName" type="VARCHAR(100)"/>
            <column name="LastName" type="VARCHAR(100)"/>
            <column defaultValue="0" name="Onboarded" type="BOOLEAN">
                <constraints nullable="false"/>
            </column>
            <column defaultValueNumeric="0" name="AccessFailedCount" type="INT">
                <constraints nullable="false"/>
            </column>
            <column name="LastVisitedOrg" type="UUID"/>
        </createTable>
    </changeSet>
</databaseChangeLog>

在Postgres上一切正常,但是当我使用H2 db运行测试时,似乎没有发现唯一的XML changelog文件,结果,当我尝试在表<>中插入记录时,表未找到异常< strong> EnvironmentUser 。我正在说的例外就是跟随例外。

2018-08-20 21:20:20.824 ERROR 12096 --- [           main] o.h.engine.jdbc.spi.SqlExceptionHelper   : Table "EnvironmentUser" not found; SQL statement:

以下是所使用的测试配置文件属性。

spring.datasource.url=jdbc:h2:mem:seed;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=sa
spring.datasource.driverClassName=org.h2.Driver
spring.jpa.show-sql=false
logging.level.=ERROR

databaseChangeLog的XML标头和属性对我来说似乎正确。不知道出什么问题了。有人可以帮我吗?

0 个答案:

没有答案