]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blobdiff - db/migrations.go
bot_setting table.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / db / migrations.go
index 23847c9f4ad201494afe8f0a8db2ec9180ce5d8e..1a105fcc5ba4d34fe9d3675c2f219d2e158f9815 100644 (file)
@@ -73,9 +73,48 @@ var migrations []Migration = []Migration{
                                              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",
+               },
+       },
 }