From 842ec0e28dd3763eaef0ae188f6f8f9d6171229f Mon Sep 17 00:00:00 2001 From: Coded Date: Sat, 28 Sep 2024 14:32:53 +0100 Subject: [PATCH 1/4] feat: add create_tables config option to disable automatic DDL operations (#377) * Add config option for creating tables * Move createTables config to a better position --- .../main/java/net/william278/husksync/config/Settings.java | 3 +++ .../net/william278/husksync/database/MongoDbDatabase.java | 4 ++++ .../java/net/william278/husksync/database/MySqlDatabase.java | 3 +++ .../net/william278/husksync/database/PostgresDatabase.java | 3 +++ 4 files changed, 13 insertions(+) diff --git a/common/src/main/java/net/william278/husksync/config/Settings.java b/common/src/main/java/net/william278/husksync/config/Settings.java index abff03a3..ad414149 100644 --- a/common/src/main/java/net/william278/husksync/config/Settings.java +++ b/common/src/main/java/net/william278/husksync/config/Settings.java @@ -141,6 +141,9 @@ public class Settings { @Getter(AccessLevel.NONE) private Map tableNames = Database.TableName.getDefaults(); + @Comment("Whether to run the creation SQL on the database when the server starts. Don't modify this unless you know what you're doing!") + private boolean createTables = true; + @NotNull public String getTableName(@NotNull Database.TableName tableName) { return tableNames.getOrDefault(tableName.name().toLowerCase(Locale.ENGLISH), tableName.getDefaultName()); diff --git a/common/src/main/java/net/william278/husksync/database/MongoDbDatabase.java b/common/src/main/java/net/william278/husksync/database/MongoDbDatabase.java index 1208d493..0f4c248b 100644 --- a/common/src/main/java/net/william278/husksync/database/MongoDbDatabase.java +++ b/common/src/main/java/net/william278/husksync/database/MongoDbDatabase.java @@ -64,6 +64,10 @@ public class MongoDbDatabase extends Database { ConnectionString URI = createConnectionURI(credentials); mongoConnectionHandler = new MongoConnectionHandler(URI, credentials.getDatabase()); mongoCollectionHelper = new MongoCollectionHelper(mongoConnectionHandler); + + // Check config for if tables should be created + if (!plugin.getSettings().getDatabase().isCreateTables()) return; + if (mongoCollectionHelper.getCollection(usersTable) == null) { mongoCollectionHelper.createCollection(usersTable); } diff --git a/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java b/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java index 249e3989..3637b0b0 100644 --- a/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java +++ b/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java @@ -115,6 +115,9 @@ public class MySqlDatabase extends Database { ); dataSource.setDataSourceProperties(properties); + // Check config for if tables should be created + if (!plugin.getSettings().getDatabase().isCreateTables()) return; + // Prepare database schema; make tables if they don't exist try (Connection connection = dataSource.getConnection()) { final String[] databaseSchema = getSchemaStatements(String.format("database/%s_schema.sql", flavor)); diff --git a/common/src/main/java/net/william278/husksync/database/PostgresDatabase.java b/common/src/main/java/net/william278/husksync/database/PostgresDatabase.java index d9522a56..3293d138 100644 --- a/common/src/main/java/net/william278/husksync/database/PostgresDatabase.java +++ b/common/src/main/java/net/william278/husksync/database/PostgresDatabase.java @@ -108,6 +108,9 @@ public class PostgresDatabase extends Database { ); dataSource.setDataSourceProperties(properties); + // Check config for if tables should be created + if (!plugin.getSettings().getDatabase().isCreateTables()) return; + // Prepare database schema; make tables if they don't exist try (Connection connection = dataSource.getConnection()) { final String[] databaseSchema = getSchemaStatements(String.format("database/%s_schema.sql", flavor)); From 1b1d4c8e8d73f867ca16a8568ff83e43035833cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 Sep 2024 14:33:07 +0100 Subject: [PATCH 2/4] deps: bump commons-io:commons-io from 2.16.1 to 2.17.0 (#381) Bumps commons-io:commons-io from 2.16.1 to 2.17.0. --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bukkit/build.gradle | 2 +- common/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bukkit/build.gradle b/bukkit/build.gradle index 35abe6ec..b9deaa10 100644 --- a/bukkit/build.gradle +++ b/bukkit/build.gradle @@ -15,7 +15,7 @@ dependencies { compileOnly 'com.github.retrooper.packetevents:spigot:2.3.0' compileOnly 'com.comphenix.protocol:ProtocolLib:5.1.0' compileOnly 'org.projectlombok:lombok:1.18.34' - compileOnly 'commons-io:commons-io:2.16.1' + compileOnly 'commons-io:commons-io:2.17.0' compileOnly 'org.json:json:20240303' compileOnly 'net.william278:minedown:1.8.2' compileOnly 'de.exlll:configlib-yaml:4.5.0' diff --git a/common/build.gradle b/common/build.gradle index bc77140c..024cc019 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -3,7 +3,7 @@ plugins { } dependencies { - api 'commons-io:commons-io:2.16.1' + api 'commons-io:commons-io:2.17.0' api 'org.apache.commons:commons-text:1.12.0' api 'net.william278:minedown:1.8.2' api 'org.json:json:20240303' From 1bd703641b33f96c4d084d6318e767aedfa24669 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 Sep 2024 14:33:14 +0100 Subject: [PATCH 3/4] deps: bump org.bstats:bstats-bukkit from 3.0.3 to 3.1.0 (#379) Bumps [org.bstats:bstats-bukkit](https://github.com/Bastian/bStats-Metrics) from 3.0.3 to 3.1.0. - [Release notes](https://github.com/Bastian/bStats-Metrics/releases) - [Commits](https://github.com/Bastian/bStats-Metrics/compare/v3.0.3...v3.1.0) --- updated-dependencies: - dependency-name: org.bstats:bstats-bukkit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bukkit/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bukkit/build.gradle b/bukkit/build.gradle index b9deaa10..252e257b 100644 --- a/bukkit/build.gradle +++ b/bukkit/build.gradle @@ -5,7 +5,7 @@ dependencies { implementation 'net.william278:mpdbdataconverter:1.0.1' implementation 'net.william278:hsldataconverter:1.0' implementation 'net.william278:mapdataapi:1.0.3' - implementation 'org.bstats:bstats-bukkit:3.0.3' + implementation 'org.bstats:bstats-bukkit:3.1.0' implementation 'net.kyori:adventure-platform-bukkit:4.3.4' implementation 'dev.triumphteam:triumph-gui:3.1.10' implementation 'space.arim.morepaperlib:morepaperlib:0.4.4' From da894f57c4b20bf9222166b1d2172cbc23a3cfac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 Sep 2024 14:33:23 +0100 Subject: [PATCH 4/4] deps: bump com.gradleup.shadow from 8.3.0 to 8.3.2 (#380) Bumps [com.gradleup.shadow](https://github.com/GradleUp/shadow) from 8.3.0 to 8.3.2. - [Release notes](https://github.com/GradleUp/shadow/releases) - [Commits](https://github.com/GradleUp/shadow/compare/8.3.0...8.3.2) --- updated-dependencies: - dependency-name: com.gradleup.shadow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 504c461d..f5ef925f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ import org.apache.tools.ant.filters.ReplaceTokens plugins { - id 'com.gradleup.shadow' version '8.3.0' + id 'com.gradleup.shadow' version '8.3.2' id 'org.cadixdev.licenser' version '0.6.1' apply false id 'fabric-loom' version '1.7-SNAPSHOT' apply false id 'org.ajoberstar.grgit' version '5.2.2'