From fb4dc613ae549774e6d278d39ff8af7f048609c1 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Fri, 24 Nov 2023 13:24:24 +0100 Subject: [PATCH] AppDbUpdater: Update to version 8 --- Elwig/Helpers/AppDbUpdater.cs | 81 ++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 2 deletions(-) diff --git a/Elwig/Helpers/AppDbUpdater.cs b/Elwig/Helpers/AppDbUpdater.cs index d78e4ea..2be5297 100644 --- a/Elwig/Helpers/AppDbUpdater.cs +++ b/Elwig/Helpers/AppDbUpdater.cs @@ -4,12 +4,12 @@ using System; namespace Elwig.Helpers { public static class AppDbUpdater { - public static readonly int RequiredSchemaVersion = 7; + public static readonly int RequiredSchemaVersion = 8; private static int _versionOffset = 0; private static readonly Action[] _updaters = new[] { UpdateDbSchema_1_To_2, UpdateDbSchema_2_To_3, UpdateDbSchema_3_To_4, UpdateDbSchema_4_To_5, - UpdateDbSchema_5_To_6, UpdateDBSchema_6_To_7 + UpdateDbSchema_5_To_6, UpdateDBSchema_6_To_7, UpdateDbSchema_7_To_8 }; private static void ExecuteNonQuery(SqliteConnection cnx, string sql) { @@ -540,5 +540,82 @@ namespace Elwig.Helpers { WHERE diff < 0; """); } + + private static void UpdateDbSchema_7_To_8(SqliteConnection cnx) { + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT a.gkz, 'WLNO' + FROM AT_gem a + LEFT JOIN wb_gem w ON w.gkz = a.gkz + WHERE a.gkz / 10000 = 3 AND w.hkid IS NULL; + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'SLVL' + FROM AT_gem + WHERE gkz / 100 IN (617, 622, 623); + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'SLSS' + FROM AT_gem + WHERE gkz / 100 = 610; + """); + ExecuteNonQuery(cnx, """ + UPDATE wb_gem + SET hkid = 'SLVL' + WHERE gkz IN (61007, 61052, 61001, 61055, 61027, 61057, 61008, 61057); + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'SLWS' + FROM AT_gem + WHERE gkz / 100 IN (603, 616) OR gkz IN (60101, 60663, 60651, 60659, 60664, 60647, 60641, 60639, 60665, 60669, 60618, 60629, 60608, 60670, 60624, 60660, 60656, 60655); + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT g.gkz, 'SLVL' + FROM AT_gem g + LEFT JOIN wb_gem w ON w.gkz = g.gkz + WHERE g.gkz / 100 = 606 AND w.hkid IS NULL; + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT g.gkz, 'SLST' + FROM AT_gem g + LEFT JOIN wb_gem w ON w.gkz = g.gkz + WHERE g.gkz / 10000 = 6 AND w.hkid IS NULL; + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'BLOO' + FROM AT_gem + WHERE gkz / 10000 = 4; + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'BLKA' + FROM AT_gem + WHERE gkz / 10000 = 2; + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'BLSB' + FROM AT_gem + WHERE gkz / 10000 = 5; + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'BLTI' + FROM AT_gem + WHERE gkz / 10000 = 7; + """); + ExecuteNonQuery(cnx, """ + INSERT INTO wb_gem + SELECT gkz, 'BLVO' + FROM AT_gem + WHERE gkz / 10000 = 8; + """); + } } }