我试图使用liqubase创建一个空数据库。我使用this方法来做到这一点,但问题是它不适合我。
我使用Postgresql 10,这里有我对maven和liqubase的配置:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.0.5</version>
<configuration>
<propertyFile>src/main/resources/liquibase/liquibase.properties</propertyFile>
</configuration>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>
字符串
我的liqubase.properties
:
changeLogFile=src/main/resources/liquibase/db.changelog.xml
driver=org.postgresql.Driver
dropFirst=false
url=jdbc:postgresql://localhost:5432/auth?createDatabaseIfNotExist=true
username=postgres
password=root
型mvn clean package
上的错误是:
org.postgresql.util.PSQLException:数据库“身份验证”不存在
2条答案
按热度按时间afdcj2ne1#
Liquibase不会创建一个根本不存在的数据库。我还认为链接的问题/答案中引用的url参数
?createDatabaseIfNotExist=true
可能是MySql特定的。dphi5xsq2#
这稍微超出了你的问题范围,但你可以对Docker postgres instance使用liquibase,并根据docker-library关于环境变量的文档,将
POSTGRES_DB
设置为“auth”(在你的情况下),它将在docker镜像启动时创建“auth”db,然后liquibase可以与之交互。