feat: add diesel, but not works

This commit is contained in:
2021-02-12 23:06:29 +08:00
parent d383b36f00
commit fb84b0f85e
12 changed files with 193 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
#[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::Post;
fn main() {
use crate::schema::posts::dsl::*;
let connection = establish_connection();
let results = posts.filter(published.eq(true))
.limit(5)
.load::<Post>(&connection)
.expect("Error loading posts");
println!("Displaying {} posts", results.len());
for post in results {
println!("{}", post.title);
println!("----------\n");
println!("{}", post.body);
}
}
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))
}