49 lines
1.6 KiB
SQL
49 lines
1.6 KiB
SQL
-- CREATE TABLE email_batches (
|
|
-- id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
-- subject VARCHAR(256) NOT NULL,
|
|
-- body TEXT NOT NULL,
|
|
-- from_email VARCHAR(64) NOT NULL default 'support@jamkazam.com',
|
|
|
|
-- aasm_state VARCHAR(32) NOT NULL default 'pending',
|
|
|
|
-- test_emails TEXT NOT NULL default '',
|
|
|
|
-- qualified_count INTEGER NOT NULL default 0,
|
|
-- sent_count INTEGER NOT NULL default 0,
|
|
|
|
-- lock_version INTEGER,
|
|
|
|
-- 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_sets (
|
|
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
email_batch_id VARCHAR(64) REFERENCES email_batches(id) ON DELETE CASCADE,
|
|
|
|
started_at TIMESTAMP,
|
|
user_ids TEXT NOT NULL default '',
|
|
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
ALTER TABLE email_batch_sets ADD CONSTRAINT email_batch_set_uniqkey UNIQUE (email_batch_id, started_at);
|
|
CREATE INDEX email_batch_set_fkidx ON email_batch_sets (email_batch_id);
|
|
|
|
CREATE TABLE email_errors (
|
|
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
|
|
);
|
|
|
|
CREATE INDEX email_error_fkidx ON email_errors(email_batch_id);
|