X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=db%2Fmigrations.go;fp=db%2Fmigrations.go;h=ce5caf6c2ef6db08d2fc7bb86d69c5c392066a76;hb=4215df47c93c6ea26f21c74a9d52f78d1d103dde;hp=0000000000000000000000000000000000000000;hpb=1fc43bfa508b3579ca5a8944f8fc3e84cacee500;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FFront.git diff --git a/db/migrations.go b/db/migrations.go new file mode 100644 index 0000000..ce5caf6 --- /dev/null +++ b/db/migrations.go @@ -0,0 +1,41 @@ +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"}, + }, +}