#[macro_use] extern crate diesel; pub mod schema; pub mod models; use diesel::prelude::*; use diesel::sqlite::SqliteConnection; use dotenv::dotenv; use std::env; use crate::models::NewPost; fn main() { let connection = establish_connection(); create_post(&connection, "hello world", "this is a post!"); } pub fn create_post(conn: &SqliteConnection, title: &str, body: &str) -> usize { use crate::schema::posts; let new_post = NewPost { title, body }; diesel::insert_into(posts::table) .values(&new_post) .execute(conn) .expect("Error saving new post") } pub fn establish_connection() -> SqliteConnection { dotenv().ok(); let database_url = env::var("DATABASE_URL") .expect("DATABASE_URL must be set"); SqliteConnection::establish(&database_url) .expect(&format!("Error connecting to {}", database_url)) }