]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/commitdiff
Add more missing migrations.
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 6 May 2018 15:42:39 +0000 (17:42 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 6 May 2018 15:42:39 +0000 (17:42 +0200)
db/migrations.go

index ada02965b48d658a2aa99d85069aa0cf24b33231..5d753f3a052f216d273328f64e385b7311161fdc 100644 (file)
@@ -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 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,15 +52,15 @@ 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,
+               Version: 2,
                Up: []string{
                        `CREATE VIEW "view_balances" AS
                            SELECT report_lines.id,
@@ -70,9 +70,9 @@ var migrations []Migration = []Migration{
                                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'))`,
                },