zcash-sync/src/db/migration.rs

22 lines
678 B
Rust
Raw Normal View History

2021-07-16 01:42:29 -07:00
use rusqlite::{params, Connection, OptionalExtension, NO_PARAMS};
2021-07-09 22:44:13 -07:00
pub fn get_schema_version(connection: &Connection) -> anyhow::Result<u32> {
2021-07-16 01:42:29 -07:00
let version: Option<u32> = connection
.query_row(
"SELECT version FROM schema_version WHERE id = 1",
NO_PARAMS,
|row| row.get(0),
)
.optional()?;
2021-07-09 22:44:13 -07:00
Ok(version.unwrap_or(0))
}
pub fn update_schema_version(connection: &Connection, version: u32) -> anyhow::Result<()> {
2021-07-16 01:42:29 -07:00
connection.execute(
"INSERT INTO schema_version(id, version) VALUES (1, ?1) \
ON CONFLICT (id) DO UPDATE SET version = excluded.version",
params![version],
)?;
2021-07-09 22:44:13 -07:00
Ok(())
}