Support running additional changelogs at the end

In case you want to add your own custom stuff or change drops or something else.
This commit is contained in:
P0nk
2025-07-14 21:29:49 +02:00
parent 97ed3d2da5
commit 42bb664add
2 changed files with 17 additions and 5 deletions

View File

@@ -9,8 +9,16 @@ import tools.DatabaseConnection;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Apply changes to the database so that the server and database work in harmony.
*
* @author Ponk
*/
public class DatabaseMigrations {
private static final String ROOT_CHANGELOG_FILE = "db/changelog-root.xml";
public static void runDatabaseMigrations() {
suppressLiquibaseLogs();
@@ -18,14 +26,14 @@ public class DatabaseMigrations {
}
private static void suppressLiquibaseLogs() {
java.util.logging.Logger liquibaseLogger = java.util.logging.Logger.getLogger("liquibase");
liquibaseLogger.setLevel(java.util.logging.Level.WARNING);
Logger liquibaseLogger = Logger.getLogger("liquibase");
liquibaseLogger.setLevel(Level.WARNING);
}
private static void runLiquibaseUpdate() {
try (Connection connection = DatabaseConnection.getConnection()) {
liquibase.database.DatabaseConnection databaseConnection = new JdbcConnection(connection);
Liquibase liquibase = new Liquibase("db/changelog-root.xml", new ClassLoaderResourceAccessor(),
Liquibase liquibase = new Liquibase(ROOT_CHANGELOG_FILE, new ClassLoaderResourceAccessor(),
databaseConnection);
liquibase.setShowSummaryOutput(UpdateSummaryOutputEnum.LOG);
liquibase.update();

View File

@@ -5,7 +5,11 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
<include file="/db/changelog-tables.xml"/>
<include file="/db/changelog-data.xml"/>
<include file="changelog-tables.xml" relativeToChangelogFile="true"/>
<include file="changelog-data.xml" relativeToChangelogFile="true"/>
<!-- If you have any additional changesets you would like to run at the end, create an "extensions" directory and put them in there. -->
<!-- All changesets will run in alphanumeric order based on their filename. Read Liquibase documentation on "includeAll" for more info. -->
<includeAll path="extensions" relativeToChangelogFile="true" errorIfMissingOrEmpty="false"/>
</databaseChangeLog>