Beginning of data persistence module.

This commit is contained in:
Grégory Burri 2019-08-29 14:03:24 +02:00
parent c012be04a9
commit 87bc628b56
3 changed files with 42 additions and 2 deletions

View file

@ -1,6 +1,39 @@
use std::path::Path;
use std::fs;
//use rusqlite::types::ToSql;
//use rusqlite::{Connection, Result, NO_PARAMS};
const CURRENT_DB_VERSION: u32 = 1;
fn create_or_update() {
struct Connection {
pub sqlite_con : rusqlite::Connection
}
impl Connection {
fn new() -> Connection {
// TODO: use a constant in consts module.
let data_dir = Path::new("data");
if !data_dir.exists() {
fs::DirBuilder::new().create(data_dir).unwrap();
}
Connection { sqlite_con : rusqlite::Connection::open(data_dir.join("recipes.sqlite")).unwrap() }
}
}
pub fn create_or_update() {
let connection = Connection::new();
// let mut stmt = connection.sqlite_con.prepare("SELECT * FROM versions ORDER BY date").unwrap();
//let mut stmt = connection.sqlite_con..prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'").unwrap();
connection.sqlite_con.query_row(
"SELECT name FROM sqlite_master WHERE type='table' AND name='versions'",
rusqlite::NO_PARAMS,
|row| Ok(dbg!("test"))
)
.unwrap();
}