{-# LANGUAGE QuasiQuotes #-} module Simplex.Chat.Store.SQLite.Migrations.M20250702_contact_requests_remove_cascade_delete where import Database.SQLite.Simple (Query) import Database.SQLite.Simple.QQ (sql) m20250702_contact_requests_remove_cascade_delete :: Query m20250702_contact_requests_remove_cascade_delete :: Query m20250702_contact_requests_remove_cascade_delete = [sql| PRAGMA writable_schema=1; UPDATE sqlite_master SET sql = replace( replace( sql, 'user_contact_link_id INTEGER NOT NULL REFERENCES user_contact_links', 'user_contact_link_id INTEGER REFERENCES user_contact_links' ), 'ON UPDATE CASCADE ON DELETE CASCADE,', 'ON UPDATE CASCADE ON DELETE SET NULL,' ) WHERE name = 'contact_requests' AND type = 'table'; PRAGMA writable_schema=0; |] down_m20250702_contact_requests_remove_cascade_delete :: Query down_m20250702_contact_requests_remove_cascade_delete :: Query down_m20250702_contact_requests_remove_cascade_delete = [sql| PRAGMA writable_schema=1; UPDATE sqlite_master SET sql = replace( replace( sql, 'ON UPDATE CASCADE ON DELETE SET NULL,', 'ON UPDATE CASCADE ON DELETE CASCADE,' ), 'user_contact_link_id INTEGER REFERENCES user_contact_links', 'user_contact_link_id INTEGER NOT NULL REFERENCES user_contact_links' ) WHERE name = 'contact_requests' AND type = 'table'; PRAGMA writable_schema=0; |]