feat: building

This commit is contained in:
2022-07-24 02:10:13 +08:00
parent 065d1a89a6
commit 038d5546e0
6 changed files with 171 additions and 495 deletions

27
src/db.rs Normal file
View File

@@ -0,0 +1,27 @@
use rusqlite::{Connection, params};
use rust_util::{debugging, information, opt_result, success, XResult};
pub fn open_db(db: &str) -> XResult<Connection> {
let con = opt_result!(Connection::open(db), "Open sqlite db: {}, failed: {}", db);
debugging!("Db auto commit: {}", con.is_autocommit());
Ok(con)
}
pub fn init_db(conn: &Connection) -> XResult<bool> {
let mut stmt = conn.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='keys'")?;
let mut rows = stmt.query(())?;
if rows.next()?.is_some() {
information!("Table keys exists, skip init");
return Ok(false);
}
let _ = conn.execute(r##"
CREATE TABLE keys (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
value TEXT
)
"##, ())?;
success!("Table keys created");
Ok(true)
}