mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-09 00:18:00 +01:00
chore: add migration for release plans (#8529)
This commit is contained in:
parent
589d9f1af7
commit
fbd3f97ae0
@ -0,0 +1,62 @@
|
||||
exports.up = function(db, cb) {
|
||||
db.runSql(
|
||||
`
|
||||
CREATE TABLE IF NOT EXISTS release_plan_definitions
|
||||
(
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
discriminator TEXT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
description TEXT,
|
||||
feature_name TEXT,
|
||||
environment TEXT,
|
||||
created_by_user_id INTEGER NOT NULL REFERENCES users(id),
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT (now() at time zone 'utc'),
|
||||
CONSTRAINT release_plan_definitions_discriminator_values
|
||||
CHECK (discriminator IN ('plan', 'template')),
|
||||
CONSTRAINT feature_environments_fkey FOREIGN KEY (environment, feature_name)
|
||||
REFERENCES feature_environments(environment, feature_name)
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS milestones
|
||||
(
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
sort_order INTEGER NOT NULL,
|
||||
release_plan_definition_id TEXT NOT NULL REFERENCES release_plan_definitions(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_milestones_release_plan_definition_id ON milestones (release_plan_definition_id);
|
||||
|
||||
ALTER TABLE IF EXISTS release_plan_definitions
|
||||
ADD COLUMN IF NOT EXISTS active_milestone_id TEXT REFERENCES milestones(id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS milestone_strategies
|
||||
(
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
milestone_id TEXT NOT NULL REFERENCES milestones(id) ON DELETE CASCADE,
|
||||
sort_order INTEGER NOT NULL,
|
||||
title TEXT NOT NULL,
|
||||
strategy_name TEXT NOT NULL REFERENCES strategies(name),
|
||||
parameters JSONB NOT NULL DEFAULT '{}'::JSONB,
|
||||
constraints JSONB
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_milestone_strategies_strategy_name ON milestone_strategies (strategy_name);
|
||||
`,
|
||||
cb,
|
||||
);
|
||||
};
|
||||
|
||||
exports.down = function(db, cb) {
|
||||
db.runSql(
|
||||
`
|
||||
DROP INDEX IF EXISTS idx_milestone_strategies_strategy_name;
|
||||
DROP INDEX IF EXISTS idx_milestones_release_plan_definition_id;
|
||||
ALTER TABLE IF EXISTS release_plan_definitions DROP COLUMN IF EXISTS active_milestone_id;
|
||||
DROP TABLE IF EXISTS milestone_strategies;
|
||||
DROP TABLE IF EXISTS milestones;
|
||||
DROP TABLE IF EXISTS release_plan_definitions;
|
||||
`,
|
||||
cb,
|
||||
);
|
||||
};
|
Loading…
Reference in New Issue
Block a user