schema comparison in new upgrade tests, "moonfire-nvr check"

The .sql files here are copied from earlier revisions:

v0.sql  fee4141:src/schema.sql
v1.sql  0d69f4f:src/schema.sql
v3.sql  422cd2a:db/schema.sql
This commit is contained in:
Scott Lamb
2019-07-11 08:07:40 -07:00
parent f1112031c2
commit d7a918d397
12 changed files with 1254 additions and 11 deletions

View File

@@ -30,6 +30,7 @@
//! Subcommand to check the database and sample file dir for errors.
use crate::compare;
use crate::db::{self, CompositeId, FromSqlUuid};
use crate::dir;
use crate::raw;
@@ -48,6 +49,15 @@ pub struct Options {
}
pub fn run(conn: &rusqlite::Connection, opts: &Options) -> Result<(), Error> {
// Compare schemas.
{
let mut expected = rusqlite::Connection::open_in_memory()?;
db::init(&mut expected)?;
if let Some(diffs) = compare::get_diffs("actual", conn, "expected", &expected)? {
println!("{}", &diffs);
}
}
let db_uuid = raw::get_db_uuid(&conn)?;
// Scan directories.