-- +goose Up -- +goose StatementBegin CREATE TABLE subreddits ( name VARCHAR(30) NOT NULL PRIMARY KEY COLLATE NOCASE, disable_scheduler INT NOT NULL DEFAULT 0, "type" VARCHAR(5) NOT NULL DEFAULT 'r', schedule VARCHAR(20) NOT NULL DEFAULT '@daily', countback INT NOT NULL DEFAULT 300, image_cover VARCHAR(255) NOT NULL DEFAULT '', created_at BIGINT DEFAULT 0 NOT NULL, updated_at BIGINT DEFAULT 0 NOT NULL ); CREATE UNIQUE INDEX idx_subreddits_name ON subreddits(name); CREATE TRIGGER subreddits_update_timestamp AFTER UPDATE ON subreddits FOR EACH ROW BEGIN UPDATE subreddits SET updated_at = CURRENT_TIMESTAMP WHERE name = old.name; END; CREATE TRIGGER subreddits_insert_create_total_image_metrics AFTER INSERT on subreddits FOR EACH ROW BEGIN INSERT INTO metrics (name, value, created_at, updated_at) VALUES (CONCAT('subreddits.', NEW.name, '.total_images'), 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); END; CREATE TRIGGER subreddits_delete_total_image_metrics AFTER DELETE on subreddits FOR EACH ROW BEGIN DELETE FROM metrics WHERE name = CONCAT('subreddits.', OLD.name, '.total_images'); END; -- +goose StatementEnd -- +goose Down -- +goose StatementBegin DROP TABLE subreddits; -- +goose StatementEnd