Dropwizard迁移:将非公共模式转储到migrations.xml postgresql

时间:2014-05-15 12:33:30

标签: java postgresql migration liquibase dropwizard

dropwizard-migrations文档中所述,您可以使用命令

将现有架构转储到migrations.xml

java -jar hello-world.jar db dump helloworld.yml

但是我使用的postgresql可以有多个模式,所以如何配置我的db以始终获取我正在使用的默认模式的状态/转储而不是公共模式。

我尝试更改数据库的search_path,但这并没有成功。

2 个答案:

答案 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>