INNER CODE UNIT · Rust
have_all
aannoo/hcom · src/db/mod.rs:657
let have_all = required.iter().all(|t| tables.contains(*t));
if !have_all {
let missing: Vec<&&str> = required.iter().filter(|t| !tables.contains(**t)).collect();
return Ok(SchemaCompat::NeedsArchive(
format!("DB missing tables {:?}", missing),
None,
));
}
// Column guard: verify all expected columns exist (catches partial schema from
// version bump before migration was written)
let missing_col: Option<String> = self
.conn
.prepare("PRAGMA table_info(instances)")
.and_then(|mut s| {
let cols: Vec<String> = s
.query_map([], |row| row.get::<_, String>(1))?
.filter_map(|r| r.ok())