package db type Migration struct { Version int64 Up []string Down []string } var migrations []Migration = []Migration{ { Version: 1, Up: []string{ `CREATE TABLE users ( id BIGSERIAL PRIMARY KEY, email text NOT NULL, password_hash text NOT NULL, otp_secret text, is_otp_setup boolean, status smallint, UNIQUE(email) )`, `CREATE TABLE market_configs ( id BIGSERIAL PRIMARY KEY, market_name text NOT NULL, user_id bigint NOT NULL REFERENCES users(id), config jsonb, UNIQUE(user_id, market_name) )`, `CREATE TABLE report_lines ( id BIGSERIAL PRIMARY KEY, date timestamp with time zone NOT NULL, report_id bigint NOT NULL, type text, payload jsonb )`, "CREATE INDEX IF NOT EXISTS report_lines_report_id ON report_lines (report_id)", "CREATE INDEX IF NOT EXISTS report_lines_type ON report_lines (type)", }, Down: []string{"DROP TABLE users", "DROP TABLE market_configs", "DROP TABLE report_lines"}, }, }