130 String changelog = liquibase.getChangeLogFile();
131 Database database = liquibase.getDatabase();
132 Table changelogTable = SnapshotGeneratorFactory.getInstance().getDatabaseChangeLogTable(
new SnapshotControl(database,
false, Table.class, Column.class), database);
134 if (changelogTable != null) {
138 if (!hasDeploymentIdColumn) {
139 ChangeLogHistoryService changelogHistoryService = ChangeLogHistoryServiceFactory.getInstance().getChangeLogService(database);
140 changelogHistoryService.generateDeploymentId();
141 String deploymentId = changelogHistoryService.getDeploymentId();
145 List<SqlStatement> statementsToExecute =
new ArrayList<>();
146 statementsToExecute.add(
new AddColumnStatement(database.getLiquibaseCatalogName(), database.getLiquibaseSchemaName(),
148 statementsToExecute.add(
new UpdateStatement(database.getLiquibaseCatalogName(), database.getLiquibaseSchemaName(), changelogTable.getName())
150 statementsToExecute.add(
new SetNullableStatement(database.getLiquibaseCatalogName(), database.getLiquibaseSchemaName(),
153 ExecutorService executorService = ExecutorService.getInstance();
154 Executor executor = executorService.getExecutor(liquibase.getDatabase());
156 for (SqlStatement sql : statementsToExecute) {
157 executor.execute(sql);
164 if (!changeSets.isEmpty()) {
165 List<RanChangeSet> ranChangeSets = liquibase.getDatabase().getRanChangeSetList();
166 if (ranChangeSets.isEmpty()) {
167 logger.infov(
"Initializing database schema. Using changelog {0}", changelog);
169 if (
logger.isDebugEnabled()) {
170 logger.debugv(
"Updating database from {0} to {1}. Using changelog {2}", ranChangeSets.get(ranChangeSets.size() - 1).getId(), changeSets.get(changeSets.size() - 1).getId(), changelog);
172 logger.infov(
"Updating database. Using changelog {0}", changelog);
176 if (exportWriter != null) {
177 if (ranChangeSets.isEmpty()) {
180 liquibase.update((Contexts) null,
new LabelExpression(), exportWriter,
false);
182 liquibase.update((Contexts) null);
185 logger.debugv(
"Completed database update for changelog {0}", changelog);
187 logger.debugv(
"Database is up to date for changelog {0}", changelog);
static final String DEPLOYMENT_ID_COLUMN
Definition: LiquibaseJpaUpdaterProvider.java:71
void outputChangeLogTableCreationScript(Liquibase liquibase, final Writer exportWriter)
Definition: LiquibaseJpaUpdaterProvider.java:195
static final Logger logger
Definition: LiquibaseJpaUpdaterProvider.java:67
List< ChangeSet > getLiquibaseUnrunChangeSets(Liquibase liquibase)
Definition: LiquibaseJpaUpdaterProvider.java:279
void resetLiquibaseServices(Liquibase liquibase)
Definition: LiquibaseJpaUpdaterProvider.java:273