Files
cc-backend/internal/repository/migrations/sqlite3/13_add-service-table.up.sql
T

21 lines
720 B
SQL

CREATE TABLE "service" (
id INTEGER PRIMARY KEY,
cluster VARCHAR(255) NOT NULL,
hostname VARCHAR(255) NOT NULL,
service_type VARCHAR(255) NOT NULL,
instance_id VARCHAR(64) NOT NULL,
state VARCHAR(32) NOT NULL DEFAULT 'pending'
CHECK (state IN ('pending', 'active', 'stale', 'deregistered')),
registered_at INTEGER NOT NULL,
last_heartbeat INTEGER,
config_revision INTEGER NOT NULL DEFAULT 0,
meta_data TEXT, -- JSON
UNIQUE (cluster, hostname, service_type),
UNIQUE (instance_id)
);
CREATE INDEX IF NOT EXISTS services_cluster ON service (cluster);
CREATE INDEX IF NOT EXISTS services_state_heartbeat ON service (state, last_heartbeat);
PRAGMA optimize;