diff options
| author | Fuwn <[email protected]> | 2021-05-03 16:20:45 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-05-03 16:20:45 +0000 |
| commit | 262d59d7b3bcfda94d333d1acc8ed1a505df1c0f (patch) | |
| tree | 4fdcc0ae5df1bf4c0713eeb7d4bf712c812c3ec7 /src/db/mod.rs | |
| parent | docs(readme): add development prerequisites (diff) | |
| download | whirl-262d59d7b3bcfda94d333d1acc8ed1a505df1c0f.tar.xz whirl-262d59d7b3bcfda94d333d1acc8ed1a505df1c0f.zip | |
feat(db): use diesel instead of sqlx, implement database tests
Diffstat (limited to 'src/db/mod.rs')
| -rw-r--r-- | src/db/mod.rs | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/db/mod.rs b/src/db/mod.rs index a3257ab..2ae0ece 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -1,4 +1,32 @@ // Copyleft (ɔ) 2021-2021 The Whirlsplash Collective // SPDX-License-Identifier: GPL-3.0-only -mod tables; +pub mod models; +mod schema; + +use diesel::prelude::*; + +// use crate::db::models::*; + +pub fn establish_connection() -> SqliteConnection { + let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set"); + SqliteConnection::establish(&database_url) + .unwrap_or_else(|_| panic!("error connecting to {}", database_url)) +} + +#[test] +pub fn show_serials() { + use crate::db::{models::SerialNumber, schema::serial_numbers::dsl::*}; + + dotenv::dotenv().ok(); + + let results = serial_numbers + .limit(5) + .load::<SerialNumber>(&establish_connection()) + .expect("error loading serial numbers table"); + + println!("found {} results", results.len()); + for result in results { + println!("{}", result.user_name); + } +} |