mirror of
https://github.com/coder/coder.git
synced 2025-07-08 11:39:50 +00:00
24 lines
773 B
SQL
24 lines
773 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,
|
|
project_id uuid NOT NULL REFERENCES projects (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, name) WHERE deleted = FALSE;
|
|
CREATE UNIQUE INDEX idx_workspaces_name_lower ON workspaces USING btree (lower(name));
|
|
|
|
CREATE TYPE workspace_transition AS ENUM (
|
|
'start',
|
|
'stop',
|
|
'delete'
|
|
);
|
|
|