Files
simple-rust-tests/__database/diesel/src/main.rs
2021-02-12 23:17:00 +08:00

36 lines
884 B
Rust

#[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))
}