Sessions now auto-create CF Jira issues on start and post full session output as comments on end, transitioning the issue to Done. - Add src/services/jira.ts with createSessionIssue, addComment, transitionToDone - Update session_start to create CF Jira issue and store key in sessions table - Update session_end to post session output and close Jira issue - Add migration 031 to archive local task tables (moved to Jira Cloud) - Update .env.example with Jira Cloud env vars Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
2.5 KiB
PL/PgSQL
51 lines
2.5 KiB
PL/PgSQL
-- Migration 031: Archive task tables after Jira Cloud migration (CF-762)
|
|
-- Task management moved to Jira Cloud. Archive local task tables for historical reference.
|
|
-- Session, memory, archive, and infrastructure tables remain active.
|
|
|
|
BEGIN;
|
|
|
|
-- 1. Archive task tables (rename with archived_ prefix)
|
|
ALTER TABLE IF EXISTS tasks RENAME TO archived_tasks;
|
|
ALTER TABLE IF EXISTS task_checklist RENAME TO archived_task_checklist;
|
|
ALTER TABLE IF EXISTS task_links RENAME TO archived_task_links;
|
|
ALTER TABLE IF EXISTS task_activity RENAME TO archived_task_activity;
|
|
ALTER TABLE IF EXISTS task_sequences RENAME TO archived_task_sequences;
|
|
|
|
-- 2. Add archived_at timestamp to archived tables
|
|
ALTER TABLE IF EXISTS archived_tasks ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
|
ALTER TABLE IF EXISTS archived_task_checklist ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
|
ALTER TABLE IF EXISTS archived_task_links ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
|
ALTER TABLE IF EXISTS archived_task_activity ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
|
ALTER TABLE IF EXISTS archived_task_sequences ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
|
|
|
-- 3. Drop tables that are fully replaced by Jira (data already migrated)
|
|
DROP TABLE IF EXISTS epics CASCADE;
|
|
DROP TABLE IF EXISTS epic_sequences CASCADE;
|
|
DROP TABLE IF EXISTS versions CASCADE;
|
|
|
|
-- 4. Keep these tables (still referenced by session tools):
|
|
-- - task_commits (git commit ↔ Jira issue linking)
|
|
-- - task_migration_map (maps old local IDs → Jira keys)
|
|
-- - task_delegations (code delegation tracking)
|
|
|
|
-- 5. Update task_commits to remove FK constraint on archived_tasks
|
|
-- (commits now reference Jira issue keys, not local task IDs)
|
|
ALTER TABLE IF EXISTS task_commits DROP CONSTRAINT IF EXISTS task_commits_task_id_fkey;
|
|
|
|
-- 6. Update task_delegations to remove FK constraint on archived_tasks
|
|
ALTER TABLE IF EXISTS task_delegations DROP CONSTRAINT IF EXISTS task_delegations_task_id_fkey;
|
|
|
|
-- 7. Drop unused indexes on archived tables (save space, they're read-only now)
|
|
DROP INDEX IF EXISTS idx_tasks_status;
|
|
DROP INDEX IF EXISTS idx_tasks_type;
|
|
DROP INDEX IF EXISTS idx_tasks_priority;
|
|
DROP INDEX IF EXISTS idx_tasks_epic;
|
|
DROP INDEX IF EXISTS idx_tasks_version;
|
|
DROP INDEX IF EXISTS idx_tasks_embedding;
|
|
|
|
-- 8. Record migration
|
|
INSERT INTO schema_migrations (version, applied_at) VALUES ('031_archive_task_tables', NOW())
|
|
ON CONFLICT DO NOTHING;
|
|
|
|
COMMIT;
|