diff options
author | Joris | 2025-02-07 08:25:28 +0100 |
---|---|---|
committer | Joris | 2025-02-07 08:25:28 +0100 |
commit | bfe4aa78d882b9d95bd1f954371136f3aa5c38c9 (patch) | |
tree | 597f20035a42f4603d4a1c693a4c070ef00e112e /sql/migrations/2.sql | |
parent | fedb4e7c7ebf21619f89c29d011e288363a978e9 (diff) |
Migrate database at startup
Diffstat (limited to 'sql/migrations/2.sql')
-rw-r--r-- | sql/migrations/2.sql | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/sql/migrations/2.sql b/sql/migrations/2.sql deleted file mode 100644 index c1d502f..0000000 --- a/sql/migrations/2.sql +++ /dev/null @@ -1,44 +0,0 @@ --- Add payment categories with accents from payment with accents - -INSERT INTO - payment_category (name, category, created_at) -SELECT - DISTINCT lower(payment.name), payment_category.category, datetime('now') -FROM - payment -INNER JOIN - payment_category -ON - replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(lower(payment.name), 'é', 'e'), 'è', 'e'), 'à', 'a'), 'û', 'u'), 'â', 'a'), 'ê', 'e'), 'â', 'a'), 'î', 'i'), 'ï', 'i'), 'ô', 'o'), 'ë', 'e') = payment_category.name -WHERE - payment.name -IN - (SELECT DISTINCT payment.name FROM payment WHERE lower(payment.name) NOT IN (SELECT payment_category.name FROM payment_category) AND payment.deleted_at IS NULL); - --- Remove unused payment categories - -DELETE FROM - payment_category -WHERE - name NOT IN (SELECT DISTINCT lower(name) FROM payment); - --- Add category id to payment table - -PRAGMA foreign_keys = 0; - -ALTER TABLE payment ADD COLUMN "category" INTEGER NOT NULL REFERENCES "category" DEFAULT -1; - -PRAGMA foreign_keys = 1; - -UPDATE - payment -SET - category = (SELECT category FROM payment_category WHERE payment_category.name = LOWER(payment.name)) -WHERE - EXISTS (SELECT category FROM payment_category WHERE payment_category.name = LOWER(payment.name)); - -DELETE FROM payment WHERE category = -1; - --- Remove - -DROP TABLE payment_category; |