Code2WF テーブル
概要
1件のCode2WF generationについて、lifecycleとFigma destinationを保存します。生成specはS3とFigmaに保持します。
テーブル定義
| 論理名 | 物理名 | カラム名 | データ型 | 主キー | リレーション | ユニーク | NULL 許可 | デフォルト値 | 備考 |
|---|---|---|---|---|---|---|---|---|---|
| Code2WF | code2wf | id | string | ◯ | backend生成UUIDv7(varchar(255))。code2wfId として公開し、workerへ code2wf_id として送信 |
||||
| organization_id | number | organization:id | organization scope | ||||||
| project_id | number | project:id | project scope | ||||||
| page_import_id | string | page_import:id | source Page Import(varchar(255)) |
||||||
| figma_file_key | string | plugin discoveryとmaterialization対象のFigma file(varchar(255)) |
|||||||
| screen_id | string | generated screen identifier(varchar(255)) |
|||||||
| placement_target | string | ◯ | placement referenceとして使う任意のFigma node(varchar(255)) |
||||||
| status | enum | '0' |
wf2des_status。型コード参照 |
||||||
| attempt | number | 1 | generation attempt。V1では1固定 |
||||||
| flag_count | number | ◯ | generated spec内のflagged=true outcome数 |
||||||
| result_url | string | ◯ | 不変resultまたはfailure artifactのS3 key(varchar(500)) |
||||||
| error_message | string | ◯ | 安全なfailure message(text) |
||||||
| materialized_at | datetime | ◯ | pluginがFigma placementを完了した時刻 | ||||||
| created_at | datetime | CURRENT_TIMESTAMP |
共有 audit field | ||||||
| updated_at | datetime | CURRENT_TIMESTAMP |
共有 audit field | ||||||
| deleted_at | datetime | ◯ | 共有 soft-delete field | ||||||
| created_by | string | 共有audit actor string | |||||||
| updated_by | string | 共有audit actor string | |||||||
| deleted_by | string | ◯ | 共有audit actor string |
リレーション
organization_id→organization.idproject_id→project.idpage_import_id→page_import.id。作成時は同じproject内のcompleted Page Importを必須とする- audit actor fieldはCognito subjectまたはbackend actor名を保存する
インデックス
- PRIMARY KEY (
id) - INDEX
code2wf_project_id_deleted_at_idx(project_id,deleted_at) - INDEX
code2wf_project_status_idx(project_id,status) - INDEX
code2wf_org_project_file_status_idx(organization_id,project_id,figma_file_key,status) - INDEX
code2wf_page_import_id_idx(page_import_id)
型コード
Database enumは wf2des_status です。Code2WFは次の値を使用します:
| 値 | 意味 |
|---|---|
'0' |
processing |
'1' |
completed |
'2' |
failed |
Code2WFはenum値'3'と'4'を生成しません。
備考
- Rowには
page_import_idを保存し、Page Import manifest/hashはS3に保持します。 - backendが
idをUUIDv7で生成します。有効なPOSTごとに新しいrowを作成し、新しいjobをdispatchします。Code2WFにrequest deduplication indexはありません。 - backend は queue dispatch 前に row を作成し、PostgreSQL write をすべて所有します。worker に PostgreSQL credential は渡しません。
attemptは generation fence であり、V1 では1固定です。失敗した generation は既存行を更新せず、新しい Code2WF 行を作成して再実行します。- Terminal webhookは
result_url、flag_countまたはerror_message、audit fieldを更新します。 - Placementは
materialized_atを設定します。PostgreSQLにはgenerated Figma node IDやgenerated node treeを保存しません。