mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-03 01:40:21 +08:00
46 lines
1.4 KiB
SQL
46 lines
1.4 KiB
SQL
CREATE TABLE IF NOT EXISTS routing_groups (
|
|
id TEXT PRIMARY KEY NOT NULL,
|
|
name TEXT NOT NULL,
|
|
description TEXT,
|
|
enabled INTEGER NOT NULL DEFAULT 1,
|
|
is_system_default INTEGER NOT NULL DEFAULT 0,
|
|
config_json TEXT NOT NULL,
|
|
version INTEGER NOT NULL DEFAULT 1,
|
|
created_at INTEGER NOT NULL,
|
|
updated_at INTEGER NOT NULL,
|
|
published_at INTEGER,
|
|
UNIQUE (name)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS routing_groups_system_default_idx
|
|
ON routing_groups (is_system_default, enabled);
|
|
|
|
CREATE TABLE IF NOT EXISTS routing_group_bindings (
|
|
id TEXT PRIMARY KEY NOT NULL,
|
|
group_id TEXT NOT NULL,
|
|
subject_type TEXT NOT NULL,
|
|
subject_id TEXT NOT NULL,
|
|
is_default INTEGER NOT NULL DEFAULT 0,
|
|
allow_explicit_select INTEGER NOT NULL DEFAULT 1,
|
|
created_at INTEGER NOT NULL,
|
|
updated_at INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS routing_group_bindings_group_id_idx
|
|
ON routing_group_bindings (group_id);
|
|
CREATE INDEX IF NOT EXISTS routing_group_bindings_subject_idx
|
|
ON routing_group_bindings (subject_type, subject_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS routing_group_versions (
|
|
id TEXT PRIMARY KEY NOT NULL,
|
|
group_id TEXT NOT NULL,
|
|
version INTEGER NOT NULL,
|
|
config_json TEXT NOT NULL,
|
|
created_at INTEGER NOT NULL,
|
|
created_by TEXT,
|
|
UNIQUE (group_id, version)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS routing_group_versions_group_id_idx
|
|
ON routing_group_versions (group_id);
|