diff --git a/sqlxtest/src/main.rs b/sqlxtest/src/main.rs index d5905fe..65c8c60 100644 --- a/sqlxtest/src/main.rs +++ b/sqlxtest/src/main.rs @@ -1,32 +1,26 @@ use sqlx::sqlite::SqliteConnectOptions; use sqlx::sqlite::SqlitePoolOptions; use sqlx::Pool; -use std::env; +// use std::env; struct Label { id: u32, description: String, } -struct Repository -where - T: sqlx::Database, -{ +struct Repository<'s, T: sqlx::Database + sqlx::Executor<'s>> { pool: Pool, } -impl Repository -where - T: sqlx::Database, -{ +impl<'s, T: sqlx::Database + sqlx::Executor<'s>> Repository<'s, T> { fn new(pool: Pool) -> Self { Self { pool } } - async fn save(&mut self, label: &Label) -> Result<(), sqlx::Error> { + async fn save(&self, label: &Label) -> Result<(), sqlx::Error> { sqlx::query(r#"INSERT INTO testing (label) VALUES (?)"#) .bind(label.description) - .execute(self.pool) + .execute(&self.pool) .await?; Ok(()) } @@ -46,18 +40,18 @@ async fn main() -> Result<(), sqlx::Error> { let repo = Repository::new(pool); - let command = env::args().nth(1).unwrap(); - println!("Command: \"{}\"", command); - if command == "add" { - let value = env::args().nth(2).unwrap(); - println!("Should add \"{}\"", value); - } else if command == "remove" { - let value = env::args().nth(2).unwrap(); - println!("Should remove \"{}\"", value); - sqlx::query(r#"DELETE FROM testing WHERE label = ?"#) - .bind(value) - .execute(&pool) - .await?; - } + // let command = env::args().nth(1).unwrap(); + // println!("Command: \"{}\"", command); + // if command == "add" { + // let value = env::args().nth(2).unwrap(); + // println!("Should add \"{}\"", value); + // } else if command == "remove" { + // let value = env::args().nth(2).unwrap(); + // println!("Should remove \"{}\"", value); + // sqlx::query(r#"DELETE FROM testing WHERE label = ?"#) + // .bind(value) + // .execute(&pool) + // .await?; + // } Ok(()) }