2016-05-11 9 views
2

Ich versuche, Liquibase mit Spring Boot zu verwenden. Hier ist meine application.properties Datei:Spring Boot Actuator Liquibase Endpunkt fehlgeschlagen

# ---------------------------------------- 
# 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} 

ändern Sätze gut angewendet werden (Tabellenerstellung ist ok).

Das Problem kommt, wenn ich /liquibase Aktors Endpunkt zugreifen, ich habe einen 500-Fehler erhalten:

Unable to get Liquibase changelog

Ich habe auch das folgende Protokoll:

org.postgresql.util.PSQLException: ERROR: relation "public.databasechangelog" does not exist

Wenn was das Problem das Schema Präfix verwendet Um auf die Changelog-Tabelle zuzugreifen: "public" versus "my_schema".

Ich dachte spring.datasource.schema war der richtige Parameter zu setzen?

Antwort

1

Hier ist eine Arbeitslösung (come from this answer):

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

spring.datasource.url=jdbc:postgresql://xxxxxx:5432/dev?currentSchema=my_schema 
0

Nur eine Vermutung hier - ich denke, dass das Problem ist, dass Ihr 'reales' Schema von der spring.datasource.schema gesetzt wird, aber die liquibase Tabellen werden in public gespeichert und es kann sein, dass der Spring Boot-Aktor das nicht weiß diese können getrennt sein.

+0

Leider nein, Tabellen in "my_schema" richtig gespeichert werden. – pierrefevrier

Verwandte Themen