diff --git a/server/src/db_io/src/lib.rs b/server/src/db_io/src/lib.rs index 31e1bb2..36e587c 100644 --- a/server/src/db_io/src/lib.rs +++ b/server/src/db_io/src/lib.rs @@ -1,7 +1,38 @@ +#[macro_use] +extern crate diesel; +extern crate dotenv; + +pub mod schema; +pub mod models; + +use diesel::prelude::*; +use dotenv::dotenv; +use std::env; + + +struct DB { + conn: MysqlConnection, + url: String, +} + #[cfg(test)] mod tests { + extern crate diesel; + + use super::*; + use super::models::*; + use super::diesel::prelude::*; + use super::dotenv::dotenv; + use std::env; + #[test] - fn it_works() { - assert_eq!(2 + 2, 4); + fn test_conn() { + let url = env::var("DATABASE_URL") + .expect("DATABASE_URL not set!"); + let conn = MysqlConnection::establish(&url) + .expect(&format!("Error connecting to {}", url)); + + let db = DB{conn, url}; + println!("{}", db.url); } } diff --git a/server/src/db_io/src/models.rs b/server/src/db_io/src/models.rs new file mode 100644 index 0000000..879b84f --- /dev/null +++ b/server/src/db_io/src/models.rs @@ -0,0 +1,15 @@ +#[derive(Queryable)] +pub struct User { + pub id: u64, + pub strid: String, + display: String, + native: bool, +} + + +#[derive(Queryable)] +pub struct channels { + pub id: i64, + pub name: String, + pub ctype: i64, +}