Beginning of data persistence module.
This commit is contained in:
parent
c012be04a9
commit
87bc628b56
3 changed files with 42 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
||||||
target
|
target
|
||||||
**/*.rs.bk
|
**/*.rs.bk
|
||||||
|
backend/data/recipes.sqlite
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
@ -15,6 +15,7 @@ use std::{fs::File, env::args};
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
|
|
||||||
mod consts;
|
mod consts;
|
||||||
|
mod db;
|
||||||
|
|
||||||
#[derive(Template)]
|
#[derive(Template)]
|
||||||
#[template(path = "main.html")]
|
#[template(path = "main.html")]
|
||||||
|
|
@ -61,6 +62,8 @@ fn main() -> std::io::Result<()> {
|
||||||
|
|
||||||
println!("Configuration: {:?}", config);
|
println!("Configuration: {:?}", config);
|
||||||
|
|
||||||
|
let database_connection = db::create_or_update();
|
||||||
|
|
||||||
let mut listenfd = ListenFd::from_env();
|
let mut listenfd = ListenFd::from_env();
|
||||||
let mut server =
|
let mut server =
|
||||||
HttpServer::new(
|
HttpServer::new(
|
||||||
|
|
@ -86,7 +89,7 @@ fn main() -> std::io::Result<()> {
|
||||||
fn process_args() -> bool {
|
fn process_args() -> bool {
|
||||||
fn print_usage() {
|
fn print_usage() {
|
||||||
println!("Usage:");
|
println!("Usage:");
|
||||||
println!(" {} [--help]", get_exe_name());
|
println!(" {} [--help] [--test]", get_exe_name());
|
||||||
}
|
}
|
||||||
|
|
||||||
let args: Vec<String> = args().collect();
|
let args: Vec<String> = args().collect();
|
||||||
|
|
@ -94,6 +97,9 @@ fn process_args() -> bool {
|
||||||
if args.iter().any(|arg| arg == "--help") {
|
if args.iter().any(|arg| arg == "--help") {
|
||||||
print_usage();
|
print_usage();
|
||||||
return true
|
return true
|
||||||
|
} else if args.iter().any(|arg| arg == "--test") {
|
||||||
|
let database_connection = db::create_or_update();
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
false
|
false
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue