-- This migration extracts "remind days ahead" into a separate table so that a chat can configure mutiple reminders

CREATE TABLE reminder (
   id INTEGER PRIMARY KEY NOT NULL,
   chat_id INTEGER NOT NULL REFERENCES chat (id) ON DELETE CASCADE,
   days_ahead BIGINT NOT NULL
);

CREATE INDEX reminders_chat_id ON reminder (chat_id, days_ahead); -- Having days_ahead as index saves us from taking extra effort for sorted data

INSERT INTO reminder (chat_id, days_ahead) SELECT id, remind_days_ahead FROM chat;

ALTER TABLE chat DROP remind_days_ahead;