Files
session-mcp/migrations/004_project_locks.sql
Christian Gick 837fb8060c feat: Add project lock mechanism for session exclusivity
New MCP tools:
- project_lock: Lock a project for exclusive session access
- project_unlock: Release a project lock
- project_lock_status: Check lock status for project(s)

Features:
- Automatic lock expiration (default 2h)
- Session ownership verification
- Force unlock option for emergencies
- Lock extension on re-lock by same session

Migration 004: project_locks table with expiry tracking

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 09:22:26 +02:00

18 lines
671 B
SQL

-- Migration 004: Project locks for session exclusivity
-- Prevents multiple Claude sessions from working on the same project
CREATE TABLE IF NOT EXISTS project_locks (
project TEXT PRIMARY KEY REFERENCES projects(key) ON DELETE CASCADE,
session_id TEXT NOT NULL,
locked_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
expires_at TIMESTAMP WITH TIME ZONE,
reason TEXT
);
CREATE INDEX IF NOT EXISTS idx_locks_session ON project_locks(session_id);
CREATE INDEX IF NOT EXISTS idx_locks_expires ON project_locks(expires_at);
-- Record migration
INSERT INTO schema_migrations (version, applied_at) VALUES ('004_project_locks', NOW())
ON CONFLICT DO NOTHING;