maven 使用liquibase创建Postgres数据库

t8e9dugd  于 2023-08-03  发布在  Maven
关注(0)|答案(2)|浏览(145)

我试图使用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:数据库“身份验证”不存在

afdcj2ne

afdcj2ne1#

Liquibase不会创建一个根本不存在的数据库。我还认为链接的问题/答案中引用的url参数?createDatabaseIfNotExist=true可能是MySql特定的。

dphi5xsq

dphi5xsq2#

这稍微超出了你的问题范围,但你可以对Docker postgres instance使用liquibase,并根据docker-library关于环境变量的文档,将POSTGRES_DB设置为“auth”(在你的情况下),它将在docker镜像启动时创建“auth”db,然后liquibase可以与之交互。

相关问题