id BIGSERIAL PRIMARY KEY,
market_name text NOT NULL,
user_id bigint NOT NULL REFERENCES users(id) ON DELETE CASCADE,
- config jsonb,
- UNIQUE(user_id, market_name)
+ config jsonb
)`,
+ `CREATE UNIQUE INDEX IF NOT EXISTS market_name_user_id_idx ON public.market_configs (user_id, market_name)`,
`CREATE INDEX IF NOT EXISTS market_configs_user_id ON market_configs (user_id)`,
`CREATE TABLE reports (
id BIGSERIAL PRIMARY KEY,
date timestamp with time zone NOT NULL,
- market_config_id bigint NOT NULL,
+ market_config_id bigint NOT NULL REFERENCES market_configs(id),
debug boolean
)`,
"CREATE INDEX IF NOT EXISTS reports_market_config_id ON reports (market_config_id)",
reports.date AS report_date,
report_lines.date,
report_lines.payload
- FROM (((public.report_lines
- JOIN public.reports ON ((reports.id = report_lines.report_id)))
- JOIN public.market_configs ON ((reports.market_config_id = market_configs.id)))
- JOIN public.users ON ((market_configs.user_id = users.id)))`,
+ FROM public.report_lines
+ JOIN public.reports ON reports.id = report_lines.report_id
+ JOIN public.market_configs ON reports.market_config_id = market_configs.id
+ JOIN public.users ON market_configs.user_id = users.id`,
},
- Down: []string{"DROP VIEW view_report_lines_by_user", "DROP TABLE users", "DROP TABLE market_configs", "DROP TABLE report_lines", "DROP TABLE reports"},
+ Down: []string{"DROP VIEW view_report_lines_by_user", "DROP TABLE report_lines", "DROP TABLE reports", "DROP TABLE market_configs", "DROP TABLE users"},
},
{
- Version: 201805061000,
+ Version: 2,
Up: []string{
`CREATE VIEW "view_balances" AS
SELECT report_lines.id,
reports.date AS report_date,
report_lines.date,
report_lines.payload
- FROM (((report_lines
- JOIN reports ON ((reports.id = report_lines.report_id)))
- JOIN market_configs ON ((reports.market_config_id = market_configs.id)))
+ 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`,
`CREATE INDEX checkpoints_idx ON report_lines ((payload->>'checkpoint'))`,
},