embed migrations

This commit is contained in:
2022-03-24 14:31:13 +08:00
parent cd940d59ba
commit aabe18f5a4
4 changed files with 39 additions and 16 deletions

View File

@@ -4,6 +4,9 @@ extern crate rocket;
#[macro_use]
extern crate diesel;
#[macro_use]
extern crate diesel_migrations;
#[macro_use]
extern crate log;
@@ -17,13 +20,21 @@ mod rds_models;
mod cache;
mod schema;
use db_conn::Db;
use db_conn::{Conn, Db};
use diesel::Connection;
use random_hasher::RandomHasher;
use rds_conn::init_rds_client;
use std::env;
embed_migrations!("migrations/postgres");
#[rocket::main]
async fn main() -> Result<(), rocket::Error> {
load_env();
if env::args().any(|arg| arg.eq("--init-database")) {
init_database();
return Ok(());
}
env_logger::init();
rocket::build()
.mount(
@@ -58,3 +69,9 @@ fn load_env() {
e => e.map(|_| ()).unwrap(),
}
}
fn init_database() {
let database_url = env::var("DATABASE_URL").unwrap();
let conn = Conn::establish(&database_url).unwrap();
embedded_migrations::run(&conn).unwrap();
}

View File

@@ -42,4 +42,8 @@ table! {
joinable!(comments -> posts (post_id));
allow_tables_to_appear_in_same_query!(comments, posts, users,);
allow_tables_to_appear_in_same_query!(
comments,
posts,
users,
);