mirror of https://github.com/coder/coder.git
24 lines
779 B
SQL
24 lines
779 B
SQL
CREATE TABLE workspaces (
|
|
id uuid NOT NULL,
|
|
created_at timestamptz NOT NULL,
|
|
updated_at timestamptz NOT NULL,
|
|
-- Use ON DELETE RESTRICT so that we can cleanup external workspace
|
|
-- resources first.
|
|
owner_id uuid NOT NULL REFERENCES users (id) ON DELETE RESTRICT,
|
|
organization_id uuid NOT NULL REFERENCES organizations (id) ON DELETE RESTRICT,
|
|
template_id uuid NOT NULL REFERENCES templates (id) ON DELETE RESTRICT,
|
|
deleted boolean NOT NULL DEFAULT FALSE,
|
|
name varchar(64) NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
-- Enforces no active workspaces have the same name.
|
|
CREATE UNIQUE INDEX ON workspaces USING btree (owner_id, lower(name)) WHERE deleted = FALSE;
|
|
|
|
CREATE TYPE workspace_transition AS ENUM (
|
|
'start',
|
|
'stop',
|
|
'delete'
|
|
);
|
|
|