20 lines
847 B
SQL
20 lines
847 B
SQL
CREATE TABLE IF NOT EXISTS fabric_service_channel_leases (
|
|
cluster_id UUID NOT NULL REFERENCES clusters(id) ON DELETE CASCADE,
|
|
channel_id UUID NOT NULL,
|
|
token_hash TEXT NOT NULL,
|
|
resource_id TEXT NOT NULL DEFAULT '',
|
|
service_class TEXT NOT NULL,
|
|
selected_entry_node_id UUID NULL REFERENCES nodes(id) ON DELETE SET NULL,
|
|
expires_at TIMESTAMPTZ NOT NULL,
|
|
lease JSONB NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
PRIMARY KEY (cluster_id, channel_id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS fabric_service_channel_leases_cluster_expires_idx
|
|
ON fabric_service_channel_leases(cluster_id, expires_at);
|
|
|
|
CREATE INDEX IF NOT EXISTS fabric_service_channel_leases_entry_idx
|
|
ON fabric_service_channel_leases(cluster_id, selected_entry_node_id, expires_at);
|