spolszczenie wszystkiego i poprawki

This commit is contained in:
Mateusz Gruszczyński
2025-09-26 13:52:06 +02:00
parent fdcfaff80e
commit 6a1734024a
14 changed files with 316 additions and 282 deletions

View File

@@ -1,68 +1,18 @@
-- WŁĄCZ/wyłącz FK zależnie od etapu migracji
PRAGMA foreign_keys = OFF;
BEGIN TRANSACTION;
-- 1) Nowa tabela z właściwym FK (ON DELETE CASCADE)
CREATE TABLE wplata_new (
id INTEGER PRIMARY KEY,
zbiorka_id INTEGER NOT NULL,
kwota REAL NOT NULL,
data DATETIME,
opis TEXT,
FOREIGN KEY(zbiorka_id) REFERENCES zbiorka(id) ON DELETE CASCADE
);
-- UŻYTKOWNIK
ALTER TABLE user RENAME TO uzytkownik;
ALTER TABLE uzytkownik RENAME COLUMN username TO uzytkownik;
ALTER TABLE uzytkownik RENAME COLUMN password_hash TO haslo_hash;
ALTER TABLE uzytkownik RENAME COLUMN is_admin TO czy_admin;
-- 2) (opcjonalnie) upewnij się, że nie ma „sierotek”
-- SELECT w.* FROM wplata w LEFT JOIN zbiorka z ON z.id = w.zbiorka_id WHERE z.id IS NULL;
-- 3) Kopiowanie danych
INSERT INTO wplata_new (id, zbiorka_id, kwota, data, opis)
SELECT id, zbiorka_id, kwota, data, opis
FROM wplata;
-- 4) Usunięcie starej tabeli
DROP TABLE wplata;
-- 5) Zmiana nazwy nowej tabeli na właściwą
ALTER TABLE wplata_new RENAME TO wplata;
-- 6) Odtwórz indeksy/trigger-y jeśli jakieś były (przykład indeksu po FK)
-- CREATE INDEX idx_wplata_zbiorka_id ON wplata(zbiorka_id);
-- USTAWIENIA GLOBALNE
ALTER TABLE global_settings RENAME TO ustawienia_globalne;
ALTER TABLE ustawienia_globalne RENAME COLUMN allowed_login_hosts TO dozwolone_hosty_logowania;
ALTER TABLE ustawienia_globalne RENAME COLUMN site_title TO tytul_strony;
ALTER TABLE ustawienia_globalne RENAME COLUMN show_logo_in_navbar TO pokaz_logo_w_navbar;
ALTER TABLE ustawienia_globalne RENAME COLUMN navbar_brand_mode TO typ_navbar;
ALTER TABLE ustawienia_globalne RENAME COLUMN footer_brand_mode TO typ_stopka;
ALTER TABLE ustawienia_globalne RENAME COLUMN footer_text TO stopka_text;
COMMIT;
PRAGMA foreign_keys = ON;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
ALTER TABLE global_settings ADD COLUMN logo_url TEXT DEFAULT '';
ALTER TABLE global_settings ADD COLUMN site_title TEXT DEFAULT '';
ALTER TABLE global_settings ADD COLUMN show_logo_in_navbar BOOLEAN DEFAULT 0;
COMMIT;
PRAGMA foreign_keys=ON;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- 1) Dodajemy nowe kolumny (SQLite pozwala tylko na ADD COLUMN)
ALTER TABLE global_settings ADD COLUMN navbar_brand_mode TEXT DEFAULT 'text';
ALTER TABLE global_settings ADD COLUMN footer_brand_mode TEXT DEFAULT 'text';
ALTER TABLE global_settings ADD COLUMN footer_text TEXT;
-- 2) Backfill: zgodność wsteczna z show_logo_in_navbar
UPDATE global_settings
SET navbar_brand_mode = 'logo'
WHERE COALESCE(show_logo_in_navbar, 0) = 1;
-- 3) Upewnij się, że wartości są ustawione (na wypadek NULL-i)
UPDATE global_settings
SET navbar_brand_mode = COALESCE(navbar_brand_mode, 'text'),
footer_brand_mode = COALESCE(footer_brand_mode, 'text');