AppDbUpdater: Update to version 8

This commit is contained in:
2023-11-24 13:24:24 +01:00
parent 0413bc5afc
commit fb4dc613ae

View File

@ -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<SqliteConnection>[] _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;
""");
}
}
}