48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
-- 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
|
|
);
|
|
|
|
-- 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);
|
|
|
|
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; |