Initial BizOne portal setup
This commit is contained in:
47
prisma/migrations/0007_campaigns/migration.sql
Normal file
47
prisma/migrations/0007_campaigns/migration.sql
Normal file
@ -0,0 +1,47 @@
|
||||
CREATE TABLE campaigns (
|
||||
id TEXT PRIMARY KEY,
|
||||
code TEXT NOT NULL UNIQUE,
|
||||
name TEXT NOT NULL,
|
||||
audience_label TEXT NOT NULL,
|
||||
audience_group TEXT NOT NULL,
|
||||
status TEXT NOT NULL,
|
||||
total_recipients INTEGER NOT NULL DEFAULT 0,
|
||||
delivered_count INTEGER NOT NULL DEFAULT 0,
|
||||
read_count INTEGER NOT NULL DEFAULT 0,
|
||||
failed_count INTEGER NOT NULL DEFAULT 0,
|
||||
delivery_rate DOUBLE PRECISION,
|
||||
read_rate DOUBLE PRECISION,
|
||||
sent_at TIMESTAMP(3),
|
||||
scheduled_at TIMESTAMP(3),
|
||||
template_name TEXT,
|
||||
language TEXT,
|
||||
message_title TEXT,
|
||||
message_body TEXT,
|
||||
primary_button TEXT,
|
||||
secondary_button TEXT,
|
||||
banner_image_url TEXT,
|
||||
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE campaign_recipients (
|
||||
id TEXT PRIMARY KEY,
|
||||
campaign_id TEXT NOT NULL,
|
||||
phone_number TEXT NOT NULL,
|
||||
status TEXT NOT NULL,
|
||||
sent_at TIMESTAMP(3),
|
||||
error_reason TEXT,
|
||||
device_os TEXT,
|
||||
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT campaign_recipients_campaign_id_fkey
|
||||
FOREIGN KEY (campaign_id) REFERENCES campaigns(id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX campaign_recipients_campaign_id_status_idx
|
||||
ON campaign_recipients(campaign_id, status);
|
||||
|
||||
CREATE INDEX campaign_recipients_campaign_id_sent_at_idx
|
||||
ON campaign_recipients(campaign_id, sent_at);
|
||||
Reference in New Issue
Block a user