コンテンツにスキップ

User Project Table

概要

管理用のテーブル user accessible projects

テーブル定義

論理名 物理名 カラム名 データ型 主キー リレーション ユニーク NULL許可 デフォルト値 備考
User Accessible Project user_project id serial ◯
user_id string user.cognito_subへの論理参照 (FK制約なし)
project_id number project:id
project_access number 1 0, 1, 2で権限なし、読み取り、読み取り・書き込み
created_at datetime
updated_at datetime
deleted_at datetime ◯
created_by string user:cognito_sub
updated_by string user:cognito_sub
deleted_by string user:cognito_sub ◯

リレーション

  • user_id → user.cognito_sub (論理参照、FK制約なし)
  • project_id → project.id

インデックス

  • 主キー (id)
  • ユニークインデックス user_project_user_id_project_id_active_idx (user_id, project_id) WHERE deleted_at IS NULL
  • インデックス user_project_project_id_user_id_idx (project_id, user_id)

Permission Levels

  • 0: No access
  • 1: Read
  • 2: Read/Write

注記

  • ユーザーとプロジェクトの多対多リレーションを管理する中間テーブル
  • プロジェクトごとにアクセス権限を設定可能
  • デフォルト値は 1 (読み取り権限)
  • ユーザーとプロジェクトの組み合わせごとに有効な割り当ては 1 件のみ。論理削除済みの履歴は保持される
  • 論理削除サポート (deleted_atカラム)
  • 監査ログサポート (created_by、updated_by、deleted_by)