\r
const CURRENT_DB_VERSION: u32 = 1;\r
\r
-struct Connection {\r
- pub sqlite_con : rusqlite::Connection\r
+pub struct Connection {\r
+ con: rusqlite::Connection\r
}\r
\r
impl Connection {\r
- fn new() -> Connection {\r
+ pub fn new() -> Connection {\r
\r
// TODO: use a constant in consts module.\r
let data_dir = Path::new("data");\r
fs::DirBuilder::new().create(data_dir).unwrap();\r
}\r
\r
- Connection { sqlite_con : rusqlite::Connection::open(data_dir.join("recipes.sqlite")).unwrap() }\r
+ Connection { con: rusqlite::Connection::open(data_dir.join("recipes.sqlite")).unwrap() }\r
}\r
-}\r
-\r
-pub fn create_or_update() {\r
- let connection = Connection::new();\r
\r
- // let mut stmt = connection.sqlite_con.prepare("SELECT * FROM versions ORDER BY date").unwrap();\r
-\r
- //let mut stmt = connection.sqlite_con..prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'").unwrap();\r
- connection.sqlite_con.query_row(\r
- "SELECT name FROM sqlite_master WHERE type='table' AND name='versions'",\r
- rusqlite::NO_PARAMS,\r
- |row| Ok(dbg!("test"))\r
- )\r
- .unwrap();\r
+ pub fn create_or_update(self: &Self) -> rusqlite::Result<&str> {\r
+ //let connection = Connection::new();\r
+ // let mut stmt = connection.sqlite_con.prepare("SELECT * FROM versions ORDER BY date").unwrap();\r
+ // let mut stmt = connection.sqlite_con..prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'").unwrap();\r
+\r
+ // Check the Database version.\r
+ let version = {\r
+ let stmt_version_table = self.con.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'")?;\r
+ /*if stmt_version_table.query(rusqlite::NO_PARAMS)?.count() == 0 {\r
+ 0\r
+ } else {\r
+ 1 // let stmt_versions = self.con.prepare("SELECT number FROM [")\r
+ }*/\r
+ 0\r
+ };\r
+\r
+ self.con.query_row(\r
+ "SELECT name FROM sqlite_master WHERE type='table' AND name='versions'",\r
+ rusqlite::NO_PARAMS,\r
+ |row| Ok(dbg!("test"))\r
+ )\r
+ }\r
}
\ No newline at end of file