From 8b15ecbb61f82af749b508c799f3c081d1445ec5 Mon Sep 17 00:00:00 2001 From: xsmeths Date: Mon, 24 Feb 2025 23:18:57 +0000 Subject: [PATCH] start requested changes got a bit stuck with an annoying issue --- .../com/craftaro/epicfarming/EpicFarming.java | 14 +++++------ .../migrations/_1_InitialMigration.java | 2 +- .../migrations/_2_subsequentMigration.java | 23 +++++++++++++++++++ .../epicfarming/utils/DataHelper.java | 5 ++-- 4 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/craftaro/epicfarming/database/migrations/_2_subsequentMigration.java diff --git a/src/main/java/com/craftaro/epicfarming/EpicFarming.java b/src/main/java/com/craftaro/epicfarming/EpicFarming.java index ea91a13..aea7e45 100644 --- a/src/main/java/com/craftaro/epicfarming/EpicFarming.java +++ b/src/main/java/com/craftaro/epicfarming/EpicFarming.java @@ -18,6 +18,7 @@ import com.craftaro.epicfarming.commands.CommandGiveFarmItem; import com.craftaro.epicfarming.commands.CommandReload; import com.craftaro.epicfarming.commands.CommandSettings; import com.craftaro.epicfarming.database.migrations._1_InitialMigration; +import com.craftaro.epicfarming.database.migrations._2_subsequentMigration; import com.craftaro.epicfarming.farming.Farm; import com.craftaro.epicfarming.farming.FarmManager; import com.craftaro.epicfarming.farming.FarmType; @@ -129,7 +130,7 @@ public class EpicFarming extends SongodaPlugin { ); // Database stuff. - initDatabase(Collections.singletonList(new _1_InitialMigration())); + initDatabase(new _1_InitialMigration(), new _2_subsequentMigration()); DataHelper.init(this); this.loadLevelManager(); @@ -253,23 +254,20 @@ public class EpicFarming extends SongodaPlugin { if (converted) { Bukkit.getConsoleSender().sendMessage("[" + getDescription().getName() + "] " + ChatColor.GREEN + "Conversion complete :)"); } - - this.farmManager.addFarms(this.dataManager.loadBatch(Farm.class, "active_farms")); this.boostManager.addBoosts(this.dataManager.loadBatch(BoostData.class, "boosted_players")); - }); - Bukkit.getScheduler().runTaskAsynchronously(this, () -> { List farms = this.dataManager.loadBatch(Farm.class, "active_farms"); - //System.out.println("Loaded " + farms.size() + " farms from database."); // Debugging + getLogger().info("Loaded " + farms.size() + " farms from database."); for (Farm farm : farms) { - //System.out.println("Farm ID: " + farm.getId() + " | Location: " + farm.getLocation()); // Debugging + getLogger().info("Farm ID: " + farm.getId() + " | Location: " + farm.getLocation()); // Debugging List items = DataHelper.loadItemsForFarm(farm.getId()); farm.setItems(items); - //System.out.println("Farm ID " + farm.getId() + " has " + items.size() + " items."); // Debugging + getLogger().info("Farm ID " + farm.getId() + " has " + items.size() + " items. first item is: " + items.get(0).toString()); // Debugging + } this.farmManager.addFarms(farms); diff --git a/src/main/java/com/craftaro/epicfarming/database/migrations/_1_InitialMigration.java b/src/main/java/com/craftaro/epicfarming/database/migrations/_1_InitialMigration.java index 111cf1e..1929c19 100644 --- a/src/main/java/com/craftaro/epicfarming/database/migrations/_1_InitialMigration.java +++ b/src/main/java/com/craftaro/epicfarming/database/migrations/_1_InitialMigration.java @@ -12,7 +12,7 @@ import java.sql.Statement; public class _1_InitialMigration extends DataMigration { public _1_InitialMigration() { - super(1); + super(2); } @Override diff --git a/src/main/java/com/craftaro/epicfarming/database/migrations/_2_subsequentMigration.java b/src/main/java/com/craftaro/epicfarming/database/migrations/_2_subsequentMigration.java new file mode 100644 index 0000000..a3362ef --- /dev/null +++ b/src/main/java/com/craftaro/epicfarming/database/migrations/_2_subsequentMigration.java @@ -0,0 +1,23 @@ +package com.craftaro.epicfarming.database.migrations; + +import com.craftaro.core.database.DataMigration; + +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.Statement; + +public class _2_subsequentMigration extends DataMigration { + public _2_subsequentMigration() { + super(2); + } + + @Override + public void migrate(Connection connection, String tablePrefix) throws SQLException { + + // Edit items. + try (Statement statement = connection.createStatement()) { + // Change the data type of the 'item' column in the 'items' table + statement.execute("ALTER TABLE " + tablePrefix + "items ALTER COLUMN item SET DATA TYPE TEXT"); + } + } +} diff --git a/src/main/java/com/craftaro/epicfarming/utils/DataHelper.java b/src/main/java/com/craftaro/epicfarming/utils/DataHelper.java index 42bd2f5..6a2fb3e 100644 --- a/src/main/java/com/craftaro/epicfarming/utils/DataHelper.java +++ b/src/main/java/com/craftaro/epicfarming/utils/DataHelper.java @@ -86,11 +86,10 @@ public class DataHelper { if (deserializedItems != null && !deserializedItems.isEmpty()) { items.addAll(deserializedItems); } else { - System.err.println("❌ Failed to deserialize item: " + serializedItem); + plugin.getLogger().severe("❌ Failed to deserialize item: " + serializedItem); } } catch (Exception e) { - System.err.println("❌ Error decoding Base64 item: " + serializedItem); - e.printStackTrace(); + plugin.getLogger().severe("❌ Error decoding Base64 item: " + serializedItem); } } });