ormlitex_core/
config.rs

1use std::env::var;
2use std::path::PathBuf;
3use std::str::FromStr;
4
5const MIGRATION_FOLDER: &str = "migrations";
6pub const MIGRATION_TABLE: &str = "_sqlx_migrations";
7const MIGRATION_SNAPSHOT_FOLDER: &str = "migrations/snapshot";
8pub const MODEL_FOLDERS: &str = ".";
9
10pub fn get_var_migration_folder() -> PathBuf {
11    let folder = var("MIGRATION_FOLDER").unwrap_or_else(|_| MIGRATION_FOLDER.to_string());
12    PathBuf::from_str(&folder).unwrap()
13}
14
15pub fn get_var_snapshot_folder() -> PathBuf {
16    let folder = var("MIGRATION_BACKUP_FOLDER").unwrap_or_else(|_| MIGRATION_SNAPSHOT_FOLDER.to_string());
17    PathBuf::from_str(&folder).unwrap()
18}
19
20pub fn get_var_database_url() -> String {
21    var("DATABASE_URL").expect("DATABASE_URL must be set")
22}
23
24
25pub fn get_var_model_folders() -> Vec<PathBuf> {
26    let folders = var("MODEL_FOLDERS").unwrap_or_else(|_| MODEL_FOLDERS.to_string());
27    folders.split(',').map(|s| PathBuf::from_str(s).unwrap()).collect()
28}