Documents
Home

04 データベース仕様

完全な DDL は schema.sql を参照すること。


4.1 共通カラム

全テーブルに以下のカラムが存在する。

カラム名 説明
*_id TEXT プライマリキー(UUID)
created_at TEXT レコード作成日時(ISO8601)
updated_at TEXT レコード更新日時(ISO8601)
source TEXT データ出典(02_infrastructure.md 2.6 参照)
history_ref TEXT 履歴関連付け ID

ソフトデリートを行うテーブルには追加で以下が存在する。

カラム名 説明
deleted_at TEXT 論理削除日時(NULL = 有効)
deleted_by TEXT FK→members 削除実行者

4.2 作業ステータス一覧

説明
todo 未着工
in_progress 作業中
blocked 停止中
pending 保留
waiting 待機(依存関係待ち)
review レビュー待ち
done 完了
cancelled キャンセル

4.3 通知タイプ一覧

説明
delay_pre 期限数日前〜当日の事前通知(作業単位)
delay_progress 期限当日の残タスク通知(作業単位)
delay_over 遅延発生通知・期限超過後毎日(作業単位)
session_remind 活動前リマインド
attendance_remind 出欠未回答リマインド
procedure_done 手順完了報告

4.4 出席ステータス一覧

説明
venue 会場出席
online オンライン出席
absent 欠席
unknown 未回答

4.5 テーブル一覧

# テーブル名 区分 説明
1 team_roles メンバー系 チーム役割マスタ
2 members メンバー系 メンバー
3 member_team_roles メンバー系 メンバー×チーム役割
4 member_roles メンバー系 メンバーシステムロール(admin / sub_admin / member)
5 member_discord_accounts メンバー系 Discord アカウント(認証情報統合)
6 member_passkeys メンバー系 パスキー
7 member_sessions メンバー系 セッション
8 member_devices メンバー系 デバイスフィンガープリント
9 member_emergency_keys メンバー系 緊急ログイン用一時キー
10 member_login_notification_settings メンバー系 ログイン通知設定(Discord ID 単位)
11 member_login_history メンバー系 ログイン履歴
12 permanent_delete_logs メンバー系 完全削除ログ
13 venues 活動系 会場マスタ
14 activity_sessions 活動系 活動セッション
15 attendance_plans 活動系 出欠予定
16 attendance_records 活動系 出席実績
17 attendance_notes 活動系 出欠注釈
18 attendance_reminder_patterns 活動系 出欠催促タイムパターン
19 attendance_reminder_timings 活動系 催促パターン各タイミング
20 survey_templates アンケート系 アンケートテンプレート
21 survey_template_items アンケート系 テンプレート選択肢
22 surveys アンケート系 アンケート(公開済み)
23 survey_items アンケート系 アンケート選択肢
24 survey_responses アンケート系 アンケート回答
25 task_roles 作業系 作業役割マスタ
26 tasks 作業系 作業
27 task_assignments 作業系 作業担当者
28 task_dependency_groups 作業系 作業依存グループ
29 task_dependencies 作業系 作業依存関係
30 task_progress_history 作業系 作業進捗履歴
31 task_memos 作業系 作業メモ
32 procedure_templates 手順系 手順テンプレート
33 procedure_result_definitions 手順系 手順結果定義
34 procedure_template_steps 手順系 手順テンプレートステップ
35 procedure_step_transitions 手順系 手順ステップ遷移
36 procedure_instances 手順系 手順実績
37 procedure_instance_steps 手順系 手順実績ステップ
38 session_task_records 活動×作業 活動×作業記録
39 notification_rules 通知系 通知ルール
40 notification_timings 通知系 通知タイミング
41 urls 共通 URL 管理

4.6 テーブル定義


メンバー系


team_roles チーム役割マスタ

カラム名 制約 説明
team_role_id TEXT PK 役割 ID(UUID)
name TEXT NOT NULL 役割名
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

初期データ:キャプテン / プロジェクトマネージャー / 安全管理 / PR 担当 / 操縦手


members メンバー

カラム名 制約 説明
member_id TEXT PK メンバー ID(UUID)
name TEXT NOT NULL 氏名
discord_id TEXT NOT NULL UNIQUE Discord ユーザー ID(代表)
is_active INTEGER NOT NULL DEFAULT 1 在籍フラグ(1=在籍 0=脱退)
joined_at TEXT NOT NULL 加入日
left_at TEXT 脱退日(NULL なら在籍中)
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_team_roles メンバー×チーム役割

カラム名 制約 説明
member_team_role_id TEXT PK ID(UUID)
member_id TEXT NOT NULL FK→members メンバー ID
team_role_id TEXT NOT NULL FK→team_roles 役割 ID
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_roles メンバーシステムロール

システム内の権限ロール(admin / sub_admin / member)を管理する。

カラム名 制約 説明
member_role_id TEXT PK ID(UUID)
member_id TEXT NOT NULL FK→members メンバー ID
role TEXT NOT NULL admin / sub_admin / member
granted_by TEXT FK→members 付与者
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_discord_accounts Discord アカウント

member_auth を廃止し、Discord アカウント単位で認証情報を管理する。1 人が複数アカウントを持てる。

カラム名 制約 説明
discord_account_id TEXT PK ID(UUID)
member_id TEXT NOT NULL FK→members メンバー ID
discord_id TEXT NOT NULL UNIQUE Discord ユーザー ID
username TEXT NOT NULL Discord ユーザー名
email TEXT NOT NULL UNIQUE Discord メールアドレス兼ログイン ID
totp_secret TEXT 2FA シークレット(TOTP)
discord_access_token TEXT Discord OAuth アクセストークン
discord_refresh_token TEXT Discord OAuth リフレッシュトークン
discord_token_expires_at TEXT トークン有効期限
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_passkeys パスキー

複数端末のパスキーを登録できる。FK は member_discord_accounts に変更。

カラム名 制約 説明
passkey_id TEXT PK ID(UUID)
discord_account_id TEXT NOT NULL FK→member_discord_accounts Discord アカウント ID
credential_id TEXT NOT NULL UNIQUE パスキー識別子
public_key TEXT NOT NULL 公開鍵データ
device_name TEXT デバイス名(iPhone・PC など)
registered_at TEXT NOT NULL 登録日時
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_sessions セッション

複数端末の同時ログインを許可する。FK は member_discord_accounts に変更。

カラム名 制約 説明
session_id TEXT PK ID(UUID)
discord_account_id TEXT NOT NULL FK→member_discord_accounts Discord アカウント ID
session_token TEXT NOT NULL UNIQUE セッショントークン
device_info TEXT デバイス情報
last_active_at TEXT NOT NULL 最終アクティブ日時
expires_at TEXT NOT NULL 有効期限
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_devices デバイスフィンガープリント

FingerprintJS による端末識別情報を管理する。

カラム名 制約 説明
device_id TEXT PK ID(UUID)
discord_account_id TEXT NOT NULL FK→member_discord_accounts Discord アカウント ID
fingerprint_data TEXT NOT NULL フィンガープリントデータ
device_name TEXT デバイス名
last_seen_at TEXT NOT NULL 最終確認日時
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_emergency_keys 緊急ログイン用一時キー

カラム名 制約 説明
key_id TEXT PK ID(UUID)
member_id TEXT NOT NULL FK→members メンバー ID
issued_by TEXT FK→members 発行者(管理者)
key_hash TEXT キーのハッシュ(発行後セット)
status TEXT NOT NULL DEFAULT 'pending' pending / issued / used / expired
request_at TEXT NOT NULL 申請日時
expires_at TEXT 有効期限(発行から 1 時間)
used_at TEXT 使用日時
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_login_notification_settings ログイン通知設定

Discord アカウント ID 単位で通知条件を設定する。

カラム名 制約 説明
setting_id TEXT PK ID(UUID)
discord_account_id TEXT NOT NULL UNIQUE FK→member_discord_accounts Discord アカウント ID
notify_on_session INTEGER NOT NULL DEFAULT 0 セッション継続時通知
notify_on_oauth INTEGER NOT NULL DEFAULT 1 OAuth ログイン時通知
notify_on_new_device INTEGER NOT NULL DEFAULT 1 新規端末時通知
notify_on_passkey INTEGER NOT NULL DEFAULT 1 パスキー使用時通知
notify_on_totp INTEGER NOT NULL DEFAULT 1 TOTP 使用時通知
notify_on_emergency_key INTEGER NOT NULL DEFAULT 1 緊急キー使用時通知
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

member_login_history ログイン履歴

カラム名 制約 説明
login_id TEXT PK ID(UUID)
discord_account_id TEXT NOT NULL FK→member_discord_accounts Discord アカウント ID
login_method TEXT NOT NULL session / oauth / passkey / totp / emergency_key
os TEXT OS 名
browser TEXT ブラウザ名
device_id TEXT FK→member_devices デバイス ID
is_new_device INTEGER NOT NULL DEFAULT 0 新規端末フラグ
logged_in_at TEXT NOT NULL ログイン日時
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

permanent_delete_logs 完全削除ログ

完全削除実行時に削除前のスナップショットを保存する。

カラム名 制約 説明
log_id TEXT PK ID(UUID)
deleted_by TEXT NOT NULL FK→members 削除実行者
target_table TEXT NOT NULL 対象テーブル名
target_id TEXT NOT NULL 対象レコード ID
snapshot TEXT NOT NULL 削除前データ(JSON)
deleted_at TEXT NOT NULL 削除日時
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

活動系


venues 会場マスタ

オンライン開催の場合は URL を location に格納する。ソフトデリート対応。

カラム名 制約 説明
venue_id TEXT PK 会場 ID(UUID)
name TEXT NOT NULL 会場名
location TEXT 住所または URL
memo TEXT メモ
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

activity_sessions 活動セッション

いつどこで活動したかを記録する。作業終了と撤収完了は別々に記録する。

カラム名 制約 説明
session_id TEXT PK セッション ID(UUID)
venue_id TEXT NOT NULL FK→venues 会場 ID
date TEXT NOT NULL 活動日(YYYY-MM-DD)
planned_start_at TEXT NOT NULL 開始予定時刻
planned_end_at TEXT NOT NULL 終了予定時刻
actual_start_at TEXT 実際の開始時刻
actual_end_at TEXT 実際の終了時刻
work_end_at TEXT 作業終了時刻
cleanup_end_at TEXT 撤収完了時刻
is_cancelled INTEGER NOT NULL DEFAULT 0 キャンセルフラグ
cancel_reason TEXT キャンセル理由
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

attendance_plans 出欠予定

活動前の出欠確認結果を記録する。未回答は unknown

カラム名 制約 説明
plan_id TEXT PK ID(UUID)
session_id TEXT NOT NULL FK→activity_sessions セッション ID
member_id TEXT NOT NULL FK→members メンバー ID
planned_status TEXT NOT NULL DEFAULT 'unknown' venue / online / absent / unknown
planned_late INTEGER NOT NULL DEFAULT 0 遅刻予定フラグ
planned_arrival_at TEXT 到着予定時刻
planned_early_leave INTEGER NOT NULL DEFAULT 0 早退予定フラグ
planned_leave_at TEXT 早退予定時刻
absence_reason TEXT 欠席理由
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

attendance_records 出席実績

カラム名 制約 説明
record_id TEXT PK ID(UUID)
plan_id TEXT FK→attendance_plans 出欠予定 ID
session_id TEXT NOT NULL FK→activity_sessions セッション ID
member_id TEXT NOT NULL FK→members メンバー ID
actual_status TEXT NOT NULL DEFAULT 'unknown' venue / online / absent / unknown
is_late INTEGER NOT NULL DEFAULT 0 遅刻フラグ
arrival_at TEXT 到着時刻
is_early_leave INTEGER NOT NULL DEFAULT 0 早退フラグ
leave_at TEXT 早退時刻
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

attendance_notes 出欠注釈

各ユーザーが出欠予定に自由テキストの注釈を追加できる。Discord / WebUI 両対応。

カラム名 制約 説明
note_id TEXT PK ID(UUID)
plan_id TEXT NOT NULL FK→attendance_plans 出欠予定 ID
discord_account_id TEXT NOT NULL FK→member_discord_accounts Discord アカウント ID
content TEXT NOT NULL 注釈内容
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

attendance_reminder_patterns 出欠催促タイムパターン

管理者が作成する催促通知テンプレート。複数の活動で使い回せる。

カラム名 制約 説明
pattern_id TEXT PK ID(UUID)
name TEXT NOT NULL パターン名
created_by TEXT NOT NULL FK→members 作成者
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

attendance_reminder_timings 催促パターン各タイミング

カラム名 制約 説明
timing_id TEXT PK ID(UUID)
pattern_id TEXT NOT NULL FK→attendance_reminder_patterns パターン ID
timing_type TEXT NOT NULL hours_before / days_before
timing_value INTEGER NOT NULL 時間数または日数
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

アンケート系


survey_templates アンケートテンプレート

公開前にテンプレートとして保存・管理できる。

カラム名 制約 説明
template_id TEXT PK ID(UUID)
title TEXT NOT NULL タイトル
created_by TEXT NOT NULL FK→members 作成者
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

survey_template_items テンプレート選択肢

カラム名 制約 説明
item_id TEXT PK ID(UUID)
template_id TEXT NOT NULL FK→survey_templates テンプレート ID
order_index INTEGER NOT NULL 表示順
content TEXT NOT NULL 選択肢内容(時間・会場など)
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

surveys アンケート(公開済み)

カラム名 制約 説明
survey_id TEXT PK ID(UUID)
template_id TEXT FK→survey_templates 元テンプレート ID(NULL 可)
title TEXT NOT NULL タイトル
created_by TEXT NOT NULL FK→members 作成者
closes_at TEXT 締め切り日時(NULL = 期限なし)
closed_at TEXT 実際の打ち切り日時
closed_by TEXT FK→members 打ち切り実行者
discord_message_id TEXT Discord メッセージ ID
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

survey_items アンケート選択肢

カラム名 制約 説明
item_id TEXT PK ID(UUID)
survey_id TEXT NOT NULL FK→surveys アンケート ID
order_index INTEGER NOT NULL 表示順
content TEXT NOT NULL 選択肢内容
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

survey_responses アンケート回答

Discord アカウント単位で回答を記録する(同一メンバーのサブ垢は最新を採用)。

カラム名 制約 説明
response_id TEXT PK ID(UUID)
survey_id TEXT NOT NULL FK→surveys アンケート ID
item_id TEXT NOT NULL FK→survey_items 選択肢 ID
discord_account_id TEXT NOT NULL FK→member_discord_accounts Discord アカウント ID
response TEXT NOT NULL ok / unsure / ng
note TEXT 補足コメント
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

作業系


task_roles 作業役割マスタ

カラム名 制約 説明
task_role_id TEXT PK ID(UUID)
name TEXT NOT NULL 役割名
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

初期データ:機械系 / プログラミング系 / 回路系 / 連絡担当メイン / 連絡担当サブ


tasks 作業

parent_task_id が NULL の場合は最上位作業。無限ネスト対応。

カラム名 制約 説明
task_id TEXT PK 作業 ID(UUID)
parent_task_id TEXT FK→tasks 親作業 ID(NULL=最上位)
name TEXT NOT NULL 作業名
description TEXT 説明
goal TEXT 終了目標
status TEXT NOT NULL DEFAULT 'todo' 4.2 参照
priority INTEGER NOT NULL DEFAULT 50 1〜100(大きいほど高優先度)
planned_end_at TEXT 予定終了日時
estimated_hours INTEGER 予定所要時間(分単位)
actual_end_at TEXT 実際の終了日時
is_cancelled INTEGER NOT NULL DEFAULT 0 キャンセルフラグ
cancel_reason TEXT キャンセル理由
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

task_assignments 作業担当者

カラム名 制約 説明
task_assignment_id TEXT PK ID(UUID)
task_id TEXT NOT NULL FK→tasks 作業 ID
member_id TEXT NOT NULL FK→members 担当者
task_role_id TEXT FK→task_roles 役割 ID
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

task_dependency_groups 作業依存グループ

OR 条件を表現するためのグループ。グループ内の依存先が全て完了するとグループが完了扱い。グループ同士は OR 関係(いずれか完了で解除)。

カラム名 制約 説明
group_id TEXT PK ID(UUID)
task_id TEXT NOT NULL FK→tasks 依存元作業 ID
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

task_dependencies 作業依存関係

カラム名 制約 説明
dependency_id TEXT PK ID(UUID)
group_id TEXT NOT NULL FK→task_dependency_groups グループ ID
depends_on_task_id TEXT NOT NULL FK→tasks 依存先作業 ID
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

task_progress_history 作業進捗履歴

ステータス・優先度の変更履歴を全て記録する。

カラム名 制約 説明
history_id TEXT PK ID(UUID)
task_id TEXT NOT NULL FK→tasks 作業 ID
changed_by TEXT NOT NULL FK→members 変更者
previous_status TEXT 変更前ステータス
new_status TEXT 変更後ステータス
previous_priority INTEGER 変更前優先度
new_priority INTEGER 変更後優先度
memo TEXT 変更理由など
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

task_memos 作業メモ

1 つの作業に複数メモを追加できる。URL は urls テーブルで管理する。

カラム名 制約 説明
memo_id TEXT PK ID(UUID)
task_id TEXT NOT NULL FK→tasks 作業 ID
member_id TEXT NOT NULL FK→members 投稿者
content TEXT メモ内容(複数行可)
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

手順系


procedure_templates 手順テンプレート

task_id が NULL の場合は汎用テンプレートとして複数作業で再利用できる。

カラム名 制約 説明
template_id TEXT PK テンプレート ID(UUID)
task_id TEXT FK→tasks 紐付ける作業 ID(NULL=汎用)
name TEXT NOT NULL テンプレート名
description TEXT 説明
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

procedure_result_definitions 手順結果定義

テンプレートごとに結果値(ok/ng/skip など)を自由に定義する。

カラム名 制約 説明
result_id TEXT PK ID(UUID)
template_id TEXT NOT NULL FK→procedure_templates テンプレート ID
value TEXT NOT NULL 結果値(ok/ng/skip/timeout など)
label TEXT NOT NULL 表示名(正常・異常など)
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

procedure_template_steps 手順テンプレートステップ

カラム名 制約 説明
step_id TEXT PK ステップ ID(UUID)
template_id TEXT NOT NULL FK→procedure_templates テンプレート ID
order_index INTEGER NOT NULL 順序
name TEXT NOT NULL ステップ名
description TEXT 説明
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

procedure_step_transitions 手順ステップ遷移

if/elif/else 的に priority で評価順を制御する。condition_type=always が else 相当。

カラム名 制約 説明
transition_id TEXT PK ID(UUID)
from_step_id TEXT NOT NULL FK→procedure_template_steps 遷移元ステップ ID
to_step_id TEXT NOT NULL FK→procedure_template_steps 遷移先ステップ ID
priority INTEGER NOT NULL 評価順序(小さいほど先に評価)
condition_type TEXT NOT NULL result / always
condition_value TEXT 結果値(condition_type=result のとき)
label TEXT 表示名(安全確認 OK など)
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

遷移評価ロジック例:

priority=1  if   condition_type=result, condition_value=ok   ステップ 4 
priority=2  elif condition_type=result, condition_value=ng   ステップ 1 
priority=3  else condition_type=always                       ステップ 5 

procedure_instances 手順実績

作業に対してテンプレートから生成される実際の手順実行記録。

カラム名 制約 説明
instance_id TEXT PK ID(UUID)
task_id TEXT NOT NULL FK→tasks 作業 ID
template_id TEXT NOT NULL FK→procedure_templates 元テンプレート ID
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

procedure_instance_steps 手順実績ステップ

各ステップの実行結果・完了者・完了日時を記録する。

カラム名 制約 説明
instance_step_id TEXT PK ID(UUID)
instance_id TEXT NOT NULL FK→procedure_instances 手順実績 ID
step_id TEXT NOT NULL FK→procedure_template_steps 元ステップ ID
order_index INTEGER NOT NULL 順序
name TEXT NOT NULL ステップ名
result_value TEXT 実際の結果値
is_done INTEGER NOT NULL DEFAULT 0 完了フラグ
done_by TEXT FK→members 完了者
done_at TEXT 完了日時
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

活動×作業紐付け


session_task_records 活動×作業記録

活動セッションと親作業の紐付け。進捗 % は子作業完了数÷総数で自動算出する。

カラム名 制約 説明
record_id TEXT PK ID(UUID)
session_id TEXT NOT NULL FK→activity_sessions セッション ID
task_id TEXT NOT NULL FK→tasks 親作業 ID
progress_note TEXT その日どこまで進んだかのメモ
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

通知系


notification_rules 通知ルール

カラム名 制約 説明
rule_id TEXT PK ID(UUID)
type TEXT NOT NULL 4.3 参照
discord_channel_id TEXT NOT NULL 通知先 Discord チャンネル ID
is_active INTEGER NOT NULL DEFAULT 1 有効フラグ
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

notification_timings 通知タイミング

timing_valuedays_before では正=期限前・0=当日・負=期限後(遅延後)を表す。

カラム名 制約 説明
timing_id TEXT PK ID(UUID)
rule_id TEXT NOT NULL FK→notification_rules ルール ID
timing_type TEXT NOT NULL days_before / hours_before
timing_value INTEGER NOT NULL 日数または時間数(負値=期限後)
time_of_day TEXT 通知時刻 HH:MM(hours_before の場合 NULL)
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID

タイミング設定例:

timing_type timing_value time_of_day 意味
days_before 3 09:00 3 日前の 09:00
days_before 0 09:00 当日の 09:00
days_before -1 09:00 翌日(遅延後)の 09:00
hours_before 6 NULL 6 時間前

共通


urls URL 管理

task / task_memo / procedure_step など複数テーブルのレコードに URL を複数持てる。

カラム名 制約 説明
url_id TEXT PK ID(UUID)
target_type TEXT NOT NULL 対象テーブル種別(task / task_memo / procedure_step など)
target_id TEXT NOT NULL 対象レコード ID
url TEXT NOT NULL URL
label TEXT 表示名
created_at TEXT NOT NULL 作成日時
updated_at TEXT NOT NULL 更新日時
deleted_at TEXT 論理削除日時
deleted_by TEXT FK→members 削除者
source TEXT NOT NULL データ出典
history_ref TEXT 履歴関連付け ID