2020-04-26 09:53:28 +08:00
|
|
|
-- +goose Up
|
|
|
|
CREATE TABLE workspace_templates
|
|
|
|
(
|
2020-04-27 02:27:18 +08:00
|
|
|
id serial PRIMARY KEY,
|
2020-05-09 06:53:30 +08:00
|
|
|
uid varchar(30) NOT NULL CHECK(uid <> ''),
|
|
|
|
name varchar(30) NOT NULL CHECK(name <> ''),
|
|
|
|
namespace varchar(30) NOT NULL,
|
2020-04-27 04:00:48 +08:00
|
|
|
is_archived boolean DEFAULT false,
|
2020-04-27 02:27:18 +08:00
|
|
|
|
|
|
|
workflow_template_id integer NOT NULL REFERENCES workflow_templates ON DELETE CASCADE,
|
2020-04-26 09:53:28 +08:00
|
|
|
|
|
|
|
-- auditing info
|
2020-04-27 02:27:18 +08:00
|
|
|
created_at timestamp NOT NULL DEFAULT (NOW() at time zone 'utc'),
|
|
|
|
modified_at timestamp
|
2020-04-26 09:53:28 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX workspace_templates_name_namespace_key ON workspace_templates (name, namespace) WHERE is_archived = false;
|
2020-05-09 04:03:31 +08:00
|
|
|
CREATE UNIQUE INDEX workspace_templates_uid_namespace_key ON workspace_templates (uid, namespace) WHERE is_archived = false;
|
2020-04-26 09:53:28 +08:00
|
|
|
|
|
|
|
-- +goose Down
|
2020-05-09 02:55:43 +08:00
|
|
|
DROP TABLE workspace_templates;
|