X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=db%2Fmigrations.go;fp=db%2Fmigrations.go;h=e6a7f226e914eb938c11fb7e4835ae9b9b23d441;hb=18344354c5985373740b0e0c815b79a7936ef34e;hp=38ea8aa03f713ba234efb1a9c563b52588a9f2cf;hpb=87b6d05e5b289f3e9d1554fe455296ba09655c3a;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FFront.git diff --git a/db/migrations.go b/db/migrations.go index 38ea8aa..e6a7f22 100644 --- a/db/migrations.go +++ b/db/migrations.go @@ -26,6 +26,7 @@ var migrations []Migration = []Migration{ config jsonb, UNIQUE(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, @@ -45,4 +46,25 @@ var migrations []Migration = []Migration{ }, Down: []string{"DROP TABLE users", "DROP TABLE market_configs", "DROP TABLE report_lines", "DROP TABLE reports"}, }, + { + Version: 201805061000, + Up: []string{ + `CREATE VIEW "view_balances" AS + SELECT report_lines.id, + reports.id AS report_id, + market_configs.market_name, + users.id AS user_id, + users.email AS user_email, + 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))) + JOIN users ON ((market_configs.user_id = users.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"}, + }, }