如dropwizard-migrations文档中所述,您可以使用命令
将现有架构转储到migrations.xml java -jar hello-world.jar db dump helloworld.yml
但是我使用的postgresql可以有多个模式,所以如何配置我的db以始终获取我正在使用的默认模式的状态/转储而不是公共模式。
我尝试更改数据库的search_path,但这并没有成功。
答案 0 :(得分:0)
Liquibase具有defaultSchemaName
属性。我自己还没有使用过dropwizard,但seems他们使用JDBI和基于yaml的配置文件进行数据库连接。
那么,您是否尝试过将defaultSchemaName
选项放入服务配置文件中,如下所示:
database:
# the name of your JDBC driver
driverClass: org.postgresql.Driver
# the username
user: pg-user
# the password
password: iAMs00perSecrEET
# the JDBC URL
url: jdbc:postgresql://db.example.com/db-prod
# any properties specific to your JDBC driver:
properties:
charSet: UTF-8
defaultSchemaName: <yourSchemaName>
答案 1 :(得分:0)
Jens非常接近,您需要为JDBC驱动程序指定currentSchema
而非defaultSchemaName
属性。喜欢:
database:
driverClass: org.postgresql.Driver
# the other attributes
properties:
currentSchema: <yourSchemaName>