From 9af498287dbc86e36c55afde1c3242554d77e95a Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 16 Dec 2025 15:58:45 +0100 Subject: [PATCH] Database: Add v_member view --- Elwig/Helpers/AppDbUpdater.cs | 2 +- Elwig/Resources/Sql/34-35.sql | 2 +- Elwig/Resources/Sql/35-36.sql | 19 +++++++++++++++++++ Tests/fetch-resources.bat | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 Elwig/Resources/Sql/35-36.sql diff --git a/Elwig/Helpers/AppDbUpdater.cs b/Elwig/Helpers/AppDbUpdater.cs index 4479b8b..ad83d99 100644 --- a/Elwig/Helpers/AppDbUpdater.cs +++ b/Elwig/Helpers/AppDbUpdater.cs @@ -9,7 +9,7 @@ namespace Elwig.Helpers { public static class AppDbUpdater { // Don't forget to update value in Tests/fetch-resources.bat! - public static readonly int RequiredSchemaVersion = 35; + public static readonly int RequiredSchemaVersion = 36; private static int VersionOffset = 0; diff --git a/Elwig/Resources/Sql/34-35.sql b/Elwig/Resources/Sql/34-35.sql index 18dd2ed..b0081ff 100644 --- a/Elwig/Resources/Sql/34-35.sql +++ b/Elwig/Resources/Sql/34-35.sql @@ -1,4 +1,4 @@ --- schema version 34 to 33 +-- schema version 34 to 35 ALTER TABLE delivery_part ADD COLUMN unloading TEXT DEFAULT NULL; UPDATE delivery_part SET unloading = 'pumped' WHERE lesewagen; diff --git a/Elwig/Resources/Sql/35-36.sql b/Elwig/Resources/Sql/35-36.sql new file mode 100644 index 0000000..aaac921 --- /dev/null +++ b/Elwig/Resources/Sql/35-36.sql @@ -0,0 +1,19 @@ +-- schema version 35 to 36 + +CREATE VIEW v_member AS +SELECT m.mgnr, m.name, + (COALESCE(m.prefix || ' ', '') || m.given_name || COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '')) AS other_names, + m.address, p.plz, o.name AS locality, + a.name AS billing_name, a.address AS billing_address, p2.plz AS billing_plz, o2.name AS billing_locality, + k.name AS default_kg, + GROUP_CONCAT(e.address, ', ') AS email_addresses +FROM member m + LEFT JOIN AT_plz_dest p ON p.id = m.postal_dest + LEFT JOIN AT_ort o ON o.okz = p.okz + LEFT JOIN member_billing_address a ON a.mgnr = m.mgnr + LEFT JOIN AT_plz_dest p2 ON p2.id = a.postal_dest + LEFT JOIN AT_ort o2 ON o2.okz = p2.okz + LEFT JOIN AT_kg k ON k.kgnr = m.default_kgnr + LEFT JOIN member_email_address e ON e.mgnr = m.mgnr +GROUP BY m.mgnr +ORDER BY m.mgnr; diff --git a/Tests/fetch-resources.bat b/Tests/fetch-resources.bat index 4cc9941..629843d 100644 --- a/Tests/fetch-resources.bat +++ b/Tests/fetch-resources.bat @@ -1 +1 @@ -curl --fail -s -L "https://elwig.at/files/create.sql?v=35" -u "elwig:ganzGeheim123!" -o "Resources\Sql\Create.sql" +curl --fail -s -L "https://elwig.at/files/create.sql?v=36" -u "elwig:ganzGeheim123!" -o "Resources\Sql\Create.sql"