-- 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;