【问题标题】:Spring Boot Actuator Liquibase endpoint failSpring Boot Actuator Liquibase 端点失败
【发布时间】:2016-09-07 04:56:21
【问题描述】:

我正在尝试将 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 actuator 的端点时出现问题,我收到 500 错误:

无法获取 Liquibase 更改日志

我还得到以下日志:

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

如果问题在于用于访问变更日志表的架构前缀:“public”与“my_schema”。

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

【问题讨论】:

    标签: spring-boot liquibase spring-boot-actuator


    【解决方案1】:

    这是一个可行的解决方案 (come from this answer):

    # ----------------------------------------
    # DATA PROPERTIES
    # ----------------------------------------
    
    spring.datasource.url=jdbc:postgresql://xxxxxx:5432/dev?currentSchema=my_schema
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 很遗憾,没有,表正确地存储在“my_schema”中。
      猜你喜欢
      • 1970-01-01
      • 2016-06-01
      • 2020-09-15
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多