-- Add migration script here CREATE EXTENSION IF NOT EXISTS pgcrypto; CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE IF NOT EXISTS "contacts" ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), phone_number TEXT NOT NULL, user_id UUID NOT NULL, firstname TEXT NULL, lastname TEXT NULL, nickname TEXT NULL ); CREATE TABLE IF NOT EXISTS "messages" ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), content TEXT NOT NULL, user_id UUID NOT NULL ); CREATE TABLE IF NOT EXISTS "scheduled_messages" ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), scheduled timestamptz NOT NULL, created timestamptz DEFAULT now(), status TEXT CHECK (status IN ('PENDING', 'READY', 'PROCESSING', 'DONE')), user_id UUID NOT NULL ); CREATE TABLE IF NOT EXISTS "scheduled_message_events" ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), contact_id UUID NOT NULL, message_id UUID NOT NULL, scheduled_message_id UUID NOT NULL, created timestamptz DEFAULT now() ); CREATE TABLE IF NOT EXISTS "message_event_responses" ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), scheduled_message_event_id UUID NULL, response JSONB NOT NULL, user_id UUID NOT NULL, sent timestamptz NOT NULL, contact_id UUID NULL, message_id UUID NULL, status TEXT CHECK (status IN ('INSTANT', 'SCHEDULED')) );