From 50e78602f34365a087e99de5cbb9c22bc559edba Mon Sep 17 00:00:00 2001 From: Bassem Girgis Date: Thu, 19 Aug 2021 13:05:14 -0500 Subject: [PATCH] add sqlite --- .gitignore | 1 + src/main.rs | 27 +++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8d9c2a0..7657644 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /target Cargo.lock *.log +test.db* \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index c72a4f9..db467cf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,7 @@ use log::info; use sqlx::{ mysql::MySqlPoolOptions, postgres::PgPoolOptions, + sqlite::SqlitePoolOptions, }; fn setup_logger() -> Result<(), fern::InitError> { @@ -72,13 +73,32 @@ async fn check_mysql() -> Result<(), sqlx::Error> { } async fn check_postgres() -> Result<(), sqlx::Error> { + let pool = PgPoolOptions::new() + .max_connections(5) + .connect("postgres://demo_user:demo_pass@localhost:8087/demo") + .await?; + + // Make a simple query to return the given parameter + let row: (i64,) = sqlx::query_as("SELECT $1") + .bind(150_i64) + .fetch_one(&pool) + .await?; + + assert_eq!(row.0, 150); + + info!("Received {}", row.0); + + Ok(()) +} + +async fn check_sqlite() -> Result<(), sqlx::Error> { // Create a connection pool // for MySQL, use MySqlPoolOptions::new() // for SQLite, use SqlitePoolOptions::new() // etc. - let pool = PgPoolOptions::new() + let pool = SqlitePoolOptions::new() .max_connections(5) - .connect("postgres://demo_user:demo_pass@localhost:8087/demo") + .connect("sqlite://test.db") .await?; // Make a simple query to return the given parameter @@ -112,6 +132,9 @@ async fn main() -> Result<(), sqlx::Error> { tokio::spawn(async move { check_maria_db().await.unwrap(); }), + tokio::spawn(async move { + check_sqlite().await.unwrap(); + }), ]; info!("---- Spawned all ----");