{-# LANGUAGE QuasiQuotes #-} module Simplex.Chat.Store.SQLite.Migrations.M20250513_group_scope where import Database.SQLite.Simple (Query) import Database.SQLite.Simple.QQ (sql) m20250513_group_scope :: Query m20250513_group_scope :: Query m20250513_group_scope = [sql| ALTER TABLE group_members ADD COLUMN support_chat_ts TEXT; ALTER TABLE group_members ADD COLUMN support_chat_items_unread INTEGER NOT NULL DEFAULT 0; ALTER TABLE group_members ADD COLUMN support_chat_items_member_attention INTEGER NOT NULL DEFAULT 0; ALTER TABLE group_members ADD COLUMN support_chat_items_mentions INTEGER NOT NULL DEFAULT 0; ALTER TABLE group_members ADD COLUMN support_chat_last_msg_from_member_ts TEXT; ALTER TABLE groups ADD COLUMN members_require_attention INTEGER NOT NULL DEFAULT 0; ALTER TABLE chat_items ADD COLUMN group_scope_tag TEXT; ALTER TABLE chat_items ADD COLUMN group_scope_group_member_id INTEGER REFERENCES group_members(group_member_id) ON DELETE CASCADE; CREATE INDEX idx_chat_items_group_scope_group_member_id ON chat_items(group_scope_group_member_id); CREATE INDEX idx_chat_items_group_scope_item_ts ON chat_items( user_id, group_id, group_scope_tag, group_scope_group_member_id, item_ts ); CREATE INDEX idx_chat_items_group_scope_item_status ON chat_items( user_id, group_id, group_scope_tag, group_scope_group_member_id, item_status, item_ts ); |] down_m20250513_group_scope :: Query down_m20250513_group_scope :: Query down_m20250513_group_scope = [sql| DROP INDEX idx_chat_items_group_scope_item_status; DROP INDEX idx_chat_items_group_scope_item_ts; DROP INDEX idx_chat_items_group_scope_group_member_id; ALTER TABLE chat_items DROP COLUMN group_scope_tag; ALTER TABLE chat_items DROP COLUMN group_scope_group_member_id; ALTER TABLE groups DROP COLUMN members_require_attention; ALTER TABLE group_members DROP COLUMN support_chat_ts; ALTER TABLE group_members DROP COLUMN support_chat_items_unread; ALTER TABLE group_members DROP COLUMN support_chat_items_member_attention; ALTER TABLE group_members DROP COLUMN support_chat_items_mentions; ALTER TABLE group_members DROP COLUMN support_chat_last_msg_from_member_ts; |]