nomadcode/services/core/queries/roadmap_sync_identities.sql
toki fad5627ae6 feat: milestone work item creation/sync 구현 및 roadmap sync 기능 추가
- Plane Todo projection 및 idempotency/retry 메커니즘 구현
- Roadmap sync identity 및 step 모델/DB 마이그레이션/쿼리 추가
- OpenAI 및 Plane adapter 개선
- roadmaps sync package: plane_format, plane_projection, retry 모듈 추가
- Storage layer: roadmap_sync_identities, roadmap_sync_steps 추가
- agent-task 아카이브 정리
2026-06-14 04:08:15 +09:00

25 lines
1.5 KiB
SQL

-- name: GetRoadmapSyncIdentityByWorkItem :one
SELECT id, shape, roadmap_milestone_path, roadmap_item_id, provider, tenant, project, work_item_id, parent_work_item_id, provider_revision, roadmap_revision, created_at, updated_at
FROM roadmap_sync_identities
WHERE provider = $1 AND tenant = $2 AND project = $3 AND work_item_id = $4;
-- name: GetRoadmapSyncIdentityByMilestonePath :one
SELECT id, shape, roadmap_milestone_path, roadmap_item_id, provider, tenant, project, work_item_id, parent_work_item_id, provider_revision, roadmap_revision, created_at, updated_at
FROM roadmap_sync_identities
WHERE roadmap_milestone_path = $1;
-- name: UpsertRoadmapSyncIdentityByWorkItem :one
INSERT INTO roadmap_sync_identities (
shape, roadmap_milestone_path, roadmap_item_id, provider, tenant, project, work_item_id, parent_work_item_id, provider_revision, roadmap_revision
)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
ON CONFLICT (provider, tenant, project, work_item_id)
DO UPDATE SET
shape = EXCLUDED.shape,
roadmap_item_id = EXCLUDED.roadmap_item_id,
parent_work_item_id = EXCLUDED.parent_work_item_id,
provider_revision = EXCLUDED.provider_revision,
roadmap_revision = EXCLUDED.roadmap_revision,
updated_at = now()
WHERE roadmap_sync_identities.roadmap_milestone_path = EXCLUDED.roadmap_milestone_path
RETURNING id, shape, roadmap_milestone_path, roadmap_item_id, provider, tenant, project, work_item_id, parent_work_item_id, provider_revision, roadmap_revision, created_at, updated_at;