SQL

CREATE TABLE team_members  (
  team_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 (team_id, user_id),
  FOREIGN KEY (team_id) REFERENCES teams(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
team_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
team_id teams.id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_team_members_user
  • user_id
  • role
SQL
CREATE INDEX idx_team_members_user
ON team_members(user_id, role)
Drop
sqlite_autoindex_team_members_1
  • team_id
  • user_id
SQL
-- no sql found --
Drop