FluxIP/migrations/002_operation_locks.sql

14 lines
452 B
SQL

CREATE TABLE IF NOT EXISTS operation_locks (
slot INTEGER PRIMARY KEY CHECK (slot = 1),
kind TEXT NOT NULL CHECK (kind IN ('rotation', 'dns_sync')),
owner_id TEXT NOT NULL UNIQUE,
lease_until TEXT,
created_at TEXT NOT NULL
);
INSERT OR IGNORE INTO operation_locks(slot, kind, owner_id, lease_until, created_at)
SELECT 1, 'rotation', id, NULL, strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
FROM rotation_runs
WHERE active_slot = 1
LIMIT 1;