Type string // tcp or unix
Address string
Password string
+ Database int
}
func Init(config DBConfig, redisConfig RedisConfig) {
Network: redisConfig.Type,
Addr: redisConfig.Address,
Password: redisConfig.Password,
- DB: 0,
+ DB: redisConfig.Database,
})
_, err = Redis.Ping().Result()
config jsonb,
UNIQUE(user_id, market_name)
)`,
+ `CREATE TABLE reports (
+ id BIGSERIAL PRIMARY KEY,
+ date timestamp with time zone NOT NULL,
+ market_config_id bigint NOT NULL,
+ debug boolean
+ )`,
+ "CREATE INDEX IF NOT EXISTS reports_market_config_id ON reports (market_config_id)",
`CREATE TABLE report_lines (
id BIGSERIAL PRIMARY KEY,
date timestamp with time zone NOT NULL,
- report_id bigint NOT NULL,
+ report_id bigint NOT NULL REFERENCES reports(id),
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)",
- `CREATE TABLE reports (
- id BIGSERIAL PRIMARY KEY,
- date timestamp with time zone NOT NULL,
- market_config_id bigint NOT NULL,
- debug boolean
- )`,
- "CREATE INDEX IF NOT EXISTS reports_market_config_id ON reports (market_config_id)",
},
Down: []string{"DROP TABLE users", "DROP TABLE market_configs", "DROP TABLE report_lines", "DROP TABLE reports"},
},