33 lines
957 B
SQL
33 lines
957 B
SQL
CREATE TABLE hosts (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
host_id TEXT NOT NULL UNIQUE,
|
|
base_url TEXT NOT NULL,
|
|
host_version TEXT NOT NULL,
|
|
capability_probe_json TEXT NOT NULL DEFAULT '{}',
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE packs (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
pack_id TEXT NOT NULL UNIQUE,
|
|
version TEXT NOT NULL,
|
|
checksum TEXT NOT NULL,
|
|
installed_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE providers (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
pack_id INTEGER NOT NULL,
|
|
provider_id TEXT NOT NULL,
|
|
display_name TEXT NOT NULL,
|
|
base_url TEXT NOT NULL,
|
|
platform TEXT NOT NULL,
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_providers_pack
|
|
FOREIGN KEY (pack_id)
|
|
REFERENCES packs(id)
|
|
ON DELETE CASCADE,
|
|
CONSTRAINT uq_providers_pack_provider
|
|
UNIQUE (pack_id, provider_id)
|
|
);
|