我如下创建了liquibase.properties
driver: net.snowflake.client.jdbc.SnowflakeDriver
classpath: ./liquibase-snowflake-1.0.jar
url: jdbc:snowflake://....us-east-1.snowflakecomputing.com/?db=...&warehouse=...&schema=LIQUIBASE&role=SYSADMIN
username: ...
password: ...
changeLogFile: mySnowflakeChangeLog.xml
在文件mySnowflakeChangeLog.xml不存在的情况下最初运行liquibase有助于在LIQUIBASE模式(我必须首先创建)中创建liquibase表。
现在,如果我提供一个简单的变更日志文件mySnowflakeChangeLog.xml(请参见下文),则在尝试重新创建基础liquibase表时更新失败: “ 对象'DATABASECHANGELOG'已经存在”
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
<changeSet author="eric" id="changelog-1.0">
<createTable tableName="TablesAndTables">
<column name="COLUMN1" type="TEXT">
<constraints nullable="true" primaryKey="false" unique="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
我想念什么吗? (我想我是...)
答案 0 :(得分:1)
我已经指定了LIQUIBASE的默认模式,但是我没有通知liquibase在哪里检索其表。
这是通过参数 liquibaseSchemaName 完成的,所以我要做的就是在我的liquibase.properties文件中添加以下行
liquibaseSchemaName: LIQUIBASE