aboutsummaryrefslogtreecommitdiff
path: root/db/migrations.go
blob: ce5caf6c2ef6db08d2fc7bb86d69c5c392066a76 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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"},
	},
}