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 );