我的 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标头和属性对我来说似乎正确。不知道出什么问题了。有人可以帮我吗?