From 75d43afea095071c1e3c78ad11dbb50f5340808c Mon Sep 17 00:00:00 2001 From: ThePindabaas <219561634+ThePindabaas@users.noreply.github.com> Date: Sat, 18 Jul 2026 10:26:32 +0200 Subject: [PATCH] add new db tables --- .../net/ardakaz/griefalert/GriefAlert.java | 5 +- .../net/ardakaz/griefalert/Migrations.java | 51 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/ardakaz/griefalert/Migrations.java diff --git a/src/main/java/net/ardakaz/griefalert/GriefAlert.java b/src/main/java/net/ardakaz/griefalert/GriefAlert.java index 264c77f..406626a 100644 --- a/src/main/java/net/ardakaz/griefalert/GriefAlert.java +++ b/src/main/java/net/ardakaz/griefalert/GriefAlert.java @@ -197,7 +197,10 @@ public class GriefAlert extends JavaPlugin implements Listener { try { connection = DriverManager.getConnection(jdbcUrl); Statement stmt = connection.createStatement(); - stmt.executeUpdate("CREATE TABLE IF NOT EXISTS ignored_locations (x INTEGER, y INTEGER, z INTEGER, world TEXT, PRIMARY KEY (x, y, z, world))"); + stmt.executeUpdate(Migrations.CREATE_TABLE_IGNORED_LOCATIONS); + stmt.executeUpdate(Migrations.CREATE_TABLE_PLAYERS); + stmt.executeUpdate(Migrations.CREATE_TABLE_ACTIONS); + stmt.executeUpdate(Migrations.CREATE_TABLE_ALERTS); stmt.close(); getLogger().info("Connected to "+jdbcUrl); } catch (SQLException e) { diff --git a/src/main/java/net/ardakaz/griefalert/Migrations.java b/src/main/java/net/ardakaz/griefalert/Migrations.java new file mode 100644 index 0000000..96cecbd --- /dev/null +++ b/src/main/java/net/ardakaz/griefalert/Migrations.java @@ -0,0 +1,51 @@ +package net.ardakaz.griefalert; + +public class Migrations { + public static final String CREATE_TABLE_IGNORED_LOCATIONS = + "CREATE TABLE IF NOT EXISTS ignored_locations (" + + "x INTEGER, " + + "y INTEGER, " + + "z INTEGER, " + + "world TEXT, " + + "PRIMARY KEY (x, y, z, world)" + + ")"; + public static final String CREATE_TABLE_PLAYERS = + "CREATE TABLE IF NOT EXISTS players (" + + "id TEXT PRIMARY KEY, " + + "names TEXT NOT NULL, " + + "playtime INTEGER NOT NULL DEFAULT 0, " + + "firstseen INTEGER NOT NULL DEFAULT CURRENT_TIMESTAMP, " + + "lastseen INTEGER NOT NULL DEFAULT CURRENT_TIMESTAMP" + + ")"; + + public static final String CREATE_TABLE_ACTIONS = + "CREATE TABLE IF NOT EXISTS actions (" + + "id INTEGER PRIMARY KEY, " + + "player TEXT NOT NULL, " + + "type TEXT NOT NULL, " + + "moderator TEXT NOT NULL, " + + "reason TEXT, " + + "time TEXT, " + + "timestamp INTEGER NOT NULL DEFAULT CURRENT_TIMESTAMP, " + + "FOREIGN KEY(player) REFERENCES players(id)" + + ")"; + public static final String CREATE_TABLE_ALERTS = + "CREATE TABLE IF NOT EXISTS alerts (" + + "id INTEGER PRIMARY KEY, " + + "player TEXT NOT NULL, " + + "action TEXT NOT NULL, " + + "target TEXT NOT NULL, " + + "target_amount INTEGER, " + + "target_player TEXT NOT NULL, " + + "x INTEGER NOT NULL, " + + "y INTEGER NOT NULL, " + + "z INTEGER NOT NULL, " + + "world TEXT NOT NULL, " + + "is_flagged INTEGER, " + + "flag_text TEXT, " + + "resolved_by TEXT, " + + "state TEXT NOT NULL DEFAULT 'UNRESOLVED', " + + "timestamp INTEGER NOT NULL DEFAULT CURRENT_TIMESTAMP, " + + "FOREIGN KEY(player) REFERENCES players(id)" + + ")"; +}