SQL

CREATE TABLE workspace_members  (
  workspace_id TEXT NOT NULL,
  user_id TEXT NOT NULL,
  role TEXT NOT NULL CHECK (role IN ('owner', 'admin', 'member', 'viewer')),
  created_at TEXT NOT NULL DEFAULT (datetime('now')),
  updated_at TEXT NOT NULL DEFAULT (datetime('now')),
  PRIMARY KEY (workspace_id, user_id),
  FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
  FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE CASCADE
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
workspace_id TEXT Rename | Drop
user_id TEXT Rename | Drop
role TEXT Rename | Drop
created_at TEXT Rename | Drop
updated_at TEXT Rename | Drop

Foreign Keys

Column Destination
user_id user.id
workspace_id workspaces.id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_workspace_members_user
  • user_id
  • role
SQL
CREATE INDEX idx_workspace_members_user
ON workspace_members(user_id, role)
Drop
sqlite_autoindex_workspace_members_1
  • workspace_id
  • user_id
SQL
-- no sql found --
Drop