+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"},
+ },
+}