X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=db%2Fmigrations.go;h=f6ecb601bce9ee31c3b31bebd624647eb29ac884;hb=400ff25bc71d90dedf66b49cde459a6efe456cf8;hp=ada02965b48d658a2aa99d85069aa0cf24b33231;hpb=cf28f344ed2a032d14036e3f1e54db4f9d3b8a68;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FFront.git diff --git a/db/migrations.go b/db/migrations.go index ada0296..f6ecb60 100644 --- a/db/migrations.go +++ b/db/migrations.go @@ -23,14 +23,14 @@ var migrations []Migration = []Migration{ 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 INDEX IF NOT EXISTS market_configs_user_id ON market_configs (user_id)`, + `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)", @@ -52,29 +52,29 @@ var migrations []Migration = []Migration{ 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, Up: []string{ `CREATE VIEW "view_balances" AS - SELECT report_lines.id, - reports.id AS report_id, - market_configs.market_name, - market_configs.id AS market_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))) - WHERE report_lines.payload::jsonb->'checkpoint' IS NOT NULL`, - `CREATE INDEX checkpoints_idx ON report_lines ((payload->>'checkpoint'))`, + SELECT report_lines.id, + reports.id AS report_id, + market_configs.market_name, + market_configs.id AS market_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 + 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"}, },