33 lines
1.1 KiB
SQL
33 lines
1.1 KiB
SQL
CREATE TABLE email_batches (
|
|
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
subject VARCHAR(256) NOT NULL,
|
|
body TEXT NOT NULL,
|
|
aasm_state VARCHAR(32) NOT NULL default 'pending',
|
|
|
|
test_emails TEXT NOT NULL,
|
|
batch_size INTEGER NOT NULL default 1000,
|
|
|
|
started_at TIMESTAMP,
|
|
completed_at TIMESTAMP,
|
|
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE email_batch_results (
|
|
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
email_batch_id VARCHAR(64) REFERENCES email_batches(id) ON DELETE CASCADE,
|
|
user_id VARCHAR(64) REFERENCES users(id) ON DELETE CASCADE,
|
|
|
|
error_type VARCHAR(32),
|
|
email_address VARCHAR(256),
|
|
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
ALTER TABLE email_batch_results ADD CONSTRAINT email_batch_uniqkey UNIQUE (email_batch_id);
|
|
ALTER TABLE email_batch_results ADD CONSTRAINT email_user_uniqkey UNIQUE (user_id);
|
|
|
|
ALTER TABLE users ADD COLUMN opt_out_email_batch boolean DEFAULT false;
|