4 //use rusqlite::types::ToSql;
5 //use rusqlite::{Connection, Result, NO_PARAMS};
7 const CURRENT_DB_VERSION
: u32 = 1;
9 pub struct Connection
{
10 con
: rusqlite
::Connection
14 pub fn new() -> Connection
{
16 // TODO: use a constant in consts module.
17 let data_dir
= Path
::new("data");
19 if !data_dir
.exists() {
20 fs
::DirBuilder
::new().create(data_dir
).unwrap();
23 Connection
{ con
: rusqlite
::Connection
::open(data_dir
.join("recipes.sqlite")).unwrap() }
26 pub fn create_or_update(self: &Self) -> rusqlite
::Result
<&str> {
27 //let connection = Connection::new();
28 // let mut stmt = connection.sqlite_con.prepare("SELECT * FROM versions ORDER BY date").unwrap();
29 // let mut stmt = connection.sqlite_con..prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'").unwrap();
31 // Check the Database version.
33 let stmt_version_table
= self.con
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'")?
;
34 /*if stmt_version_table.query(rusqlite::NO_PARAMS)?.count() == 0 {
37 1 // let stmt_versions = self.con.prepare("SELECT number FROM [")
43 "SELECT name FROM sqlite_master WHERE type='table' AND name='versions'",
45 |row
| Ok(dbg!("test"))