Merge pull request #9875 from Fadelis/feature/liquibase-changelog-table-names

[#9873] LiquibaseDatabase should use actual changeLog table names
This commit is contained in:
Lukas Eder 2020-02-25 11:27:42 +01:00 committed by GitHub
commit db1d75b288
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -77,6 +77,8 @@ public class LiquibaseDatabase extends AbstractInterpretingDatabase {
private static final JooqLogger log = JooqLogger.getLogger(LiquibaseDatabase.class);
private static final Map<String, Method> SETTERS;
private boolean includeLiquibaseTables;
private String databaseChangeLogTableName;
private String databaseChangeLogLockTableName;
static {
SETTERS = new HashMap<>();
@ -133,6 +135,9 @@ public class LiquibaseDatabase extends AbstractInterpretingDatabase {
contexts = "" + entry.getValue();
}
}
// Retrieve changeLog table names as they might be overridden by configuration setters
databaseChangeLogTableName = database.getDatabaseChangeLogTableName();
databaseChangeLogLockTableName = database.getDatabaseChangeLogLockTableName();
Liquibase liquibase = new Liquibase(scripts, new FileSystemResourceAccessor(), database);
liquibase.update(contexts);
@ -143,7 +148,7 @@ public class LiquibaseDatabase extends AbstractInterpretingDatabase {
List<TableDefinition> result = new ArrayList<>(super.getTables0());
if (!includeLiquibaseTables) {
List<String> liquibaseTables = Arrays.asList("DATABASECHANGELOG", "DATABASECHANGELOGLOCK");
List<String> liquibaseTables = Arrays.asList(databaseChangeLogTableName, databaseChangeLogLockTableName);
Iterator<TableDefinition> it = result.iterator();
while (it.hasNext())