FROM report_lines
JOIN reports ON reports.id = report_lines.report_id
JOIN market_configs ON reports.market_config_id = market_configs.id
- WHERE report_lines.payload::jsonb->'checkpoint' IS NOT NULL`,
+ WHERE report_lines.payload::jsonb->>'checkpoint' IS NOT NULL`,
`CREATE INDEX checkpoints_idx ON report_lines ((payload->>'checkpoint'))`,
},
Down: []string{"DROP VIEW view_balances", "DROP INDEX checkpoints_idx"},
},
+ {
+ Version: 201805101000,
+ Up: []string{
+ "CREATE TYPE market_config_status AS ENUM ('enabled', 'disabled', 'invalid_credentials')",
+ "ALTER TABLE market_configs ADD status market_config_status NOT NULL DEFAULT 'disabled'",
+ },
+ Down: []string{
+ "ALTER TABLE market_configs DROP COLUMN status",
+ "DROP TYPE market_config_status",
+ },
+ },
+ {
+ Version: 201805131000,
+ Up: []string{
+ "CREATE TYPE user_role AS ENUM ('admin', 'user')",
+ "ALTER TABLE users ADD role user_role NOT NULL DEFAULT 'user'",
+ },
+ Down: []string{
+ "ALTER TABLE users DROP COLUMN role",
+ "DROP TYPE user_role",
+ },
+ },
+ {
+ Version: 201807311000,
+ Up: []string{
+ "CREATE TYPE portfolio_profile AS ENUM ('high-liquidity', 'medium-liquidity')",
+ `CREATE TABLE bot_settings (
+ id BIGSERIAL PRIMARY KEY,
+ user_id bigint REFERENCES users(id) ON DELETE CASCADE,
+ portfolio_profile portfolio_profile
+ )`,
+ `CREATE INDEX IF NOT EXISTS bot_settings_user_id ON bot_settings (user_id)`,
+ `CREATE UNIQUE INDEX bot_settings_unique_null_user_id ON bot_settings (coalesce(user_id, 0))`,
+ },
+ Down: []string{
+ "DROP TABLE bot_settings",
+ "DROP TYPE portfolio_profile",
+ },
+ },
}