X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=db%2Fmigrations.go;h=1a105fcc5ba4d34fe9d3675c2f219d2e158f9815;hb=c9fd7e01d8b155ec18b50fd08ff86ca64874a8b2;hp=23847c9f4ad201494afe8f0a8db2ec9180ce5d8e;hpb=d4fdccf261b2104a7ba0f06b1b4b22db518c3cf8;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FFront.git diff --git a/db/migrations.go b/db/migrations.go index 23847c9..1a105fc 100644 --- a/db/migrations.go +++ b/db/migrations.go @@ -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", + }, + }, }