From 478bbf367e23515d1740151552d3c4e806e122da Mon Sep 17 00:00:00 2001 From: StarWishsama Date: Thu, 16 Jan 2025 14:21:33 +0800 Subject: [PATCH] fix: init db version when fresh start --- .../plugin/slimefun4/storage/adapter/IDataSourceAdapter.java | 2 ++ .../plugin/slimefun4/storage/adapter/mysql/MysqlAdapter.java | 4 ++++ .../storage/adapter/postgresql/PostgreSqlAdapter.java | 4 ++++ .../slimefun4/storage/adapter/sqlite/SqliteAdapter.java | 4 ++++ 4 files changed, 14 insertions(+) diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/IDataSourceAdapter.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/IDataSourceAdapter.java index 774c19e88f..b0caa3c18b 100644 --- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/IDataSourceAdapter.java +++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/IDataSourceAdapter.java @@ -6,6 +6,8 @@ import java.util.List; public interface IDataSourceAdapter { + int DATABASE_VERSION = 1; + void prepare(T config); void initStorage(DataType type); diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/mysql/MysqlAdapter.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/mysql/MysqlAdapter.java index 97386c7cb9..81e0505b0b 100644 --- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/mysql/MysqlAdapter.java +++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/mysql/MysqlAdapter.java @@ -18,6 +18,7 @@ import static com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlConstants.FIELD_UNIVERSAL_TRAITS; import static com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlConstants.FIELD_UNIVERSAL_UUID; +import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.IDataSourceAdapter; import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlCommonAdapter; import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlUtils; import com.xzavier0722.mc.plugin.slimefun4.storage.common.DataScope; @@ -393,5 +394,8 @@ private void createTableInformationTable() { + FIELD_TABLE_VERSION + " INT UNIQUE NOT NULL DEFAULT '0'" + ");"); + executeSql("INSERT INTO " + tableInformationTable + " (" + FIELD_TABLE_VERSION + ") SELECT '" + + IDataSourceAdapter.DATABASE_VERSION + "' WHERE NOT EXISTS (SELECT 1 FROM " + tableInformationTable + + ")"); } } diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/postgresql/PostgreSqlAdapter.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/postgresql/PostgreSqlAdapter.java index 76c7216a6e..ee099a91c0 100644 --- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/postgresql/PostgreSqlAdapter.java +++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/postgresql/PostgreSqlAdapter.java @@ -18,6 +18,7 @@ import static com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlConstants.FIELD_UNIVERSAL_TRAITS; import static com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlConstants.FIELD_UNIVERSAL_UUID; +import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.IDataSourceAdapter; import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlCommonAdapter; import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlUtils; import com.xzavier0722.mc.plugin.slimefun4.storage.common.DataScope; @@ -409,5 +410,8 @@ private void createTableInformationTable() { + FIELD_TABLE_VERSION + " INT UNIQUE NOT NULL DEFAULT '0'" + ");"); + executeSql("INSERT INTO " + tableInformationTable + " (" + FIELD_TABLE_VERSION + ") SELECT '" + + IDataSourceAdapter.DATABASE_VERSION + "' WHERE NOT EXISTS (SELECT 1 FROM " + tableInformationTable + + ")"); } } diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/sqlite/SqliteAdapter.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/sqlite/SqliteAdapter.java index 5123dbeed4..7e697f03a8 100644 --- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/sqlite/SqliteAdapter.java +++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/sqlite/SqliteAdapter.java @@ -19,6 +19,7 @@ import static com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlConstants.FIELD_UNIVERSAL_UUID; import city.norain.slimefun4.timings.entry.SQLEntry; +import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.IDataSourceAdapter; import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlCommonAdapter; import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlUtils; import com.xzavier0722.mc.plugin.slimefun4.storage.common.DataScope; @@ -390,6 +391,9 @@ private void createTableInformationTable() { + FIELD_TABLE_VERSION + " INT UNIQUE NOT NULL DEFAULT '0'" + ");"); + executeSql("INSERT INTO " + tableInformationTable + " (" + FIELD_TABLE_VERSION + ") SELECT '" + + IDataSourceAdapter.DATABASE_VERSION + "' WHERE NOT EXISTS (SELECT 1 FROM " + tableInformationTable + + ")"); } public synchronized void executeSql(String sql) {