2

我正在尝试将 Liquibase 与 Spring Boot 一起使用。这是我的application.properties文件:

# ----------------------------------------
# DATA PROPERTIES
# ----------------------------------------

spring.datasource.url=jdbc:postgresql://xxxxxx:5432/dev
spring.datasource.schema=my_schema
spring.datasource.username=my_username
spring.datasource.password=my_password

# LIQUIBASE (LiquibaseProperties)
liquibase.default-schema=${spring.datasource.schema}
liquibase.user=${spring.datasource.username}
liquibase.password=${spring.datasource.password}

更改集应用得很好(可以创建表)。

当我访问/liquibase执行器的端点时出现问题,出现 500 错误:

无法获取 Liquibase 更改日志

我还得到以下日志:

org.postgresql.util.PSQLException:错误:关系“public.databasechangelog”不存在

如果问题是用于访问更改日志表的模式前缀:“public”与“my_schema”。

我认为spring.datasource.schema设置的参数正确吗?

4

2 回答 2

1

这是一个可行的解决方案(来自此答案):

# ----------------------------------------
# DATA PROPERTIES
# ----------------------------------------

spring.datasource.url=jdbc:postgresql://xxxxxx:5432/dev?currentSchema=my_schema
于 2016-05-13T12:58:43.937 回答
0

在这里只是一个猜测-我认为问题在于您的“真实”架构是由spring.datasource.schemaliquibase 表设置的,但public可能是 Spring Boot 执行器不知道它们可以分开。

于 2016-05-11T20:09:04.927 回答