diff --git a/src/main/java/vip/fubuki/playersync/PlayerSync.java b/src/main/java/vip/fubuki/playersync/PlayerSync.java index 8a1ee74..fa3dc65 100644 --- a/src/main/java/vip/fubuki/playersync/PlayerSync.java +++ b/src/main/java/vip/fubuki/playersync/PlayerSync.java @@ -129,30 +129,30 @@ public class PlayerSync { } // Create backpack_data table - if(ModList.get().isLoaded("sophisticatedbackpacks")){ + if (ModList.get().isLoaded("sophisticatedbackpacks")) { JDBCsetUp.executeUpdate( "CREATE TABLE IF NOT EXISTS " + dbName + ".backpack_data (" + "uuid CHAR(36) NOT NULL, backpack_nbt MEDIUMBLOB, PRIMARY KEY (uuid)" + ");", 1 ); - } - // ----- NEW BLOCK: Schema Update for backpack_data and player_data ----- - // Check if backpack_data table has the 'uuid' column - JDBCsetUp.QueryResult backpackColCheck = JDBCsetUp.executeQuery( - "SELECT COUNT(*) AS colCount FROM INFORMATION_SCHEMA.COLUMNS " + - "WHERE TABLE_SCHEMA = '" + dbName + "' " + - "AND TABLE_NAME = 'backpack_data' " + - "AND COLUMN_NAME = 'uuid';" - ); - ResultSet rsBackpackCol = backpackColCheck.resultSet(); - if (rsBackpackCol.next() && rsBackpackCol.getInt("colCount") == 0) { - LOGGER.info("Altering backpack_data table to add missing 'uuid' column."); - // Add the missing column and set it as primary key. - JDBCsetUp.executeUpdate("ALTER TABLE " + dbName + ".backpack_data ADD COLUMN uuid CHAR(36) NOT NULL", 1); - JDBCsetUp.executeUpdate("ALTER TABLE " + dbName + ".backpack_data ADD PRIMARY KEY (uuid)", 1); + // Check if backpack_data table has the 'uuid' column + JDBCsetUp.QueryResult backpackColCheck = JDBCsetUp.executeQuery( + "SELECT COUNT(*) AS colCount FROM INFORMATION_SCHEMA.COLUMNS " + + "WHERE TABLE_SCHEMA = '" + dbName + "' " + + "AND TABLE_NAME = 'backpack_data' " + + "AND COLUMN_NAME = 'uuid';" + ); + ResultSet rsBackpackCol = backpackColCheck.resultSet(); + if (rsBackpackCol.next() && rsBackpackCol.getInt("colCount") == 0) { + LOGGER.info("Altering backpack_data table to add missing 'uuid' column."); + // Add the missing column and set it as primary key. + JDBCsetUp.executeUpdate("ALTER TABLE " + dbName + ".backpack_data ADD COLUMN uuid CHAR(36) NOT NULL", 1); + JDBCsetUp.executeUpdate("ALTER TABLE " + dbName + ".backpack_data ADD PRIMARY KEY (uuid)", 1); + } + rsBackpackCol.close(); + backpackColCheck.connection().close(); } - rsBackpackCol.close(); // Check and alter the 'advancements' column in player_data if necessary JDBCsetUp.QueryResult advColCheck = JDBCsetUp.executeQuery(