diff options
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/Updater.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/Updater.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/Updater.java index 89bbbf5c..bef7a7b8 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/Updater.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/Updater.java @@ -12,6 +12,7 @@ public class Updater { public static void updateDatabase() throws SQLException { addLocationPrivateField(); addLectureLocationMapTable(); + addHasUsbAccessField(); } private static void addLectureLocationMapTable() throws SQLException { @@ -64,4 +65,24 @@ public class Updater { } } + private static void addHasUsbAccessField() throws SQLException { + try (MysqlConnection connection = Database.getConnection()) { + MysqlStatement checkStmt = connection.prepareStatement("DESCRIBE lecture"); + ResultSet cols = checkStmt.executeQuery(); + while (cols.next()) { + if (cols.getString("Field").equals("hasusbaccess")) { + return; // Field exists, don't do anything + } + } + // Add field to table + MysqlStatement columnAddStmt = connection.prepareStatement("ALTER TABLE lecture" + + " ADD hasusbaccess TINYINT(1) NOT NULL DEFAULT 1 AFTER hasinternetaccess"); + columnAddStmt.executeUpdate(); + connection.commit(); + LOGGER.info("Updated database: Added 'hasusbaccess' private field in lecture table"); + } catch (SQLException e) { + LOGGER.error("Query failed in Updater.addHasUsbAccessField()", e); + throw e; + } + } } |