- 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 아카이브 정리
25 lines
1.5 KiB
SQL
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;
|