- store/sqlite: 75.4% (repos + db coverage) - host/sub2api: 80.8% (httptest mock server, pure function tests) - app: 74.2% (handler error paths, NewActionSet closures) - pack: 72.4% - provision: 75.2% - access: 77.3% - config: 94.7% (lookup mock tests) All tests pass: build, vet, race, coverage gates.
65 lines
2.6 KiB
SQL
65 lines
2.6 KiB
SQL
CREATE TABLE import_batches (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
host_id INTEGER NOT NULL,
|
|
pack_id INTEGER NOT NULL,
|
|
provider_id INTEGER NOT NULL,
|
|
mode TEXT NOT NULL,
|
|
batch_status TEXT NOT NULL,
|
|
access_status TEXT NOT NULL,
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_import_batches_host FOREIGN KEY (host_id) REFERENCES hosts(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_import_batches_pack FOREIGN KEY (pack_id) REFERENCES packs(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_import_batches_provider FOREIGN KEY (provider_id) REFERENCES providers(id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE import_batch_items (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
batch_id INTEGER NOT NULL,
|
|
key_fingerprint TEXT NOT NULL,
|
|
account_status TEXT NOT NULL,
|
|
probe_summary_json TEXT NOT NULL DEFAULT '{}',
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_import_batch_items_batch FOREIGN KEY (batch_id) REFERENCES import_batches(id) ON DELETE CASCADE,
|
|
CONSTRAINT uq_import_batch_items_batch_fingerprint UNIQUE (batch_id, key_fingerprint)
|
|
);
|
|
|
|
CREATE TABLE managed_resources (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
batch_id INTEGER NOT NULL,
|
|
resource_type TEXT NOT NULL,
|
|
host_resource_id TEXT NOT NULL,
|
|
resource_name TEXT NOT NULL,
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_managed_resources_batch FOREIGN KEY (batch_id) REFERENCES import_batches(id) ON DELETE CASCADE,
|
|
CONSTRAINT uq_managed_resources_host UNIQUE (resource_type, host_resource_id)
|
|
);
|
|
|
|
CREATE TABLE probe_results (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
batch_item_id INTEGER NOT NULL,
|
|
probe_type TEXT NOT NULL,
|
|
status TEXT NOT NULL,
|
|
summary_json TEXT NOT NULL DEFAULT '{}',
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_probe_results_item FOREIGN KEY (batch_item_id) REFERENCES import_batch_items(id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE access_closure_records (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
batch_id INTEGER NOT NULL,
|
|
closure_type TEXT NOT NULL,
|
|
status TEXT NOT NULL,
|
|
details_json TEXT NOT NULL DEFAULT '{}',
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_access_closure_records_batch FOREIGN KEY (batch_id) REFERENCES import_batches(id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE reconcile_runs (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
provider_id INTEGER NOT NULL,
|
|
status TEXT NOT NULL,
|
|
summary_json TEXT NOT NULL DEFAULT '{}',
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_reconcile_runs_provider FOREIGN KEY (provider_id) REFERENCES providers(id) ON DELETE CASCADE
|
|
);
|