Java 使用liquibase创建Postgres数据库

Java 使用liquibase创建Postgres数据库,java,maven,liquibase,Java,Maven,Liquibase,我正在尝试使用创建一个空数据库。我用这种方法来做这件事,但问题是它不适合我 我使用Postgresql 10,maven和Liqbase的配置如下: <plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-maven-plugin</artifactId> <version>3.0.5<

我正在尝试使用创建一个空数据库。我用这种方法来做这件事,但问题是它不适合我

我使用Postgresql 10,maven和Liqbase的配置如下:

 <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>
mvn clean package上的错误是:

org.postgresql.util.PSQLException:致命:数据库“auth”不存在 存在


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

这稍微超出了您的问题范围,但您可以根据docker库关于环境变量的文档,针对,将
POSTGRES\u DB
设置为“auth”(在您的例子中),它将在docker映像启动时创建“auth”DB,liquibase随后可以与之交互

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