mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-22 06:36:14 +00:00
Better DB default fields. (#1560)
* Better DB default fields. * Fixing clippy
This commit is contained in:
parent
3a01949f81
commit
1a70477fc7
|
@ -21,20 +21,15 @@ impl Default for Settings {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(in crate::settings) static DEFAULT_DATABASE_USER: &str = "lemmy";
|
|
||||||
pub(in crate::settings) static DEFAULT_DATABASE_PORT: i32 = 5432;
|
|
||||||
pub(in crate::settings) static DEFAULT_DATABASE_DB: &str = "lemmy";
|
|
||||||
pub static DEFAULT_DATABASE_POOL_SIZE: u32 = 5;
|
|
||||||
|
|
||||||
impl Default for DatabaseConfig {
|
impl Default for DatabaseConfig {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
user: Some(DEFAULT_DATABASE_USER.to_string()),
|
user: Some("lemmy".to_string()),
|
||||||
password: "password".into(),
|
password: "password".into(),
|
||||||
host: "localhost".into(),
|
host: "localhost".into(),
|
||||||
port: Some(DEFAULT_DATABASE_PORT),
|
port: Some(5432),
|
||||||
database: Some(DEFAULT_DATABASE_DB.to_string()),
|
database: Some("lemmy".to_string()),
|
||||||
pool_size: Some(DEFAULT_DATABASE_POOL_SIZE),
|
pool_size: Some(5),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,13 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
location_info,
|
location_info,
|
||||||
settings::{
|
settings::structs::{
|
||||||
defaults::{DEFAULT_DATABASE_DB, DEFAULT_DATABASE_PORT, DEFAULT_DATABASE_USER},
|
CaptchaConfig,
|
||||||
structs::{
|
DatabaseConfig,
|
||||||
CaptchaConfig,
|
EmailConfig,
|
||||||
DatabaseConfig,
|
FederationConfig,
|
||||||
EmailConfig,
|
RateLimitConfig,
|
||||||
FederationConfig,
|
Settings,
|
||||||
RateLimitConfig,
|
SetupConfig,
|
||||||
Settings,
|
|
||||||
SetupConfig,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
LemmyError,
|
LemmyError,
|
||||||
};
|
};
|
||||||
|
@ -63,15 +60,11 @@ impl Settings {
|
||||||
let conf = self.database();
|
let conf = self.database();
|
||||||
format!(
|
format!(
|
||||||
"postgres://{}:{}@{}:{}/{}",
|
"postgres://{}:{}@{}:{}/{}",
|
||||||
conf
|
conf.user(),
|
||||||
.user
|
|
||||||
.unwrap_or_else(|| DEFAULT_DATABASE_USER.to_string()),
|
|
||||||
conf.password,
|
conf.password,
|
||||||
conf.host,
|
conf.host,
|
||||||
conf.port.unwrap_or(DEFAULT_DATABASE_PORT),
|
conf.port(),
|
||||||
conf
|
conf.database(),
|
||||||
.database
|
|
||||||
.unwrap_or_else(|| DEFAULT_DATABASE_DB.to_string()),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,40 @@ pub struct CaptchaConfig {
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Clone)]
|
#[derive(Debug, Deserialize, Clone)]
|
||||||
pub struct DatabaseConfig {
|
pub struct DatabaseConfig {
|
||||||
pub user: Option<String>,
|
pub(super) user: Option<String>,
|
||||||
pub password: String,
|
pub password: String,
|
||||||
pub host: String,
|
pub host: String,
|
||||||
pub port: Option<i32>,
|
pub(super) port: Option<i32>,
|
||||||
pub database: Option<String>,
|
pub(super) database: Option<String>,
|
||||||
pub pool_size: Option<u32>,
|
pub(super) pool_size: Option<u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl DatabaseConfig {
|
||||||
|
pub fn user(&self) -> String {
|
||||||
|
self
|
||||||
|
.user
|
||||||
|
.to_owned()
|
||||||
|
.unwrap_or_else(|| DatabaseConfig::default().user.expect("missing user"))
|
||||||
|
}
|
||||||
|
pub fn port(&self) -> i32 {
|
||||||
|
self
|
||||||
|
.port
|
||||||
|
.unwrap_or_else(|| DatabaseConfig::default().port.expect("missing port"))
|
||||||
|
}
|
||||||
|
pub fn database(&self) -> String {
|
||||||
|
self.database.to_owned().unwrap_or_else(|| {
|
||||||
|
DatabaseConfig::default()
|
||||||
|
.database
|
||||||
|
.expect("missing database")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
pub fn pool_size(&self) -> u32 {
|
||||||
|
self.pool_size.unwrap_or_else(|| {
|
||||||
|
DatabaseConfig::default()
|
||||||
|
.pool_size
|
||||||
|
.expect("missing pool_size")
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Clone)]
|
#[derive(Debug, Deserialize, Clone)]
|
||||||
|
|
|
@ -16,7 +16,7 @@ use lemmy_routes::{feeds, images, nodeinfo, webfinger};
|
||||||
use lemmy_server::{api_routes, code_migrations::run_advanced_migrations, scheduled_tasks};
|
use lemmy_server::{api_routes, code_migrations::run_advanced_migrations, scheduled_tasks};
|
||||||
use lemmy_utils::{
|
use lemmy_utils::{
|
||||||
rate_limit::{rate_limiter::RateLimiter, RateLimit},
|
rate_limit::{rate_limiter::RateLimiter, RateLimit},
|
||||||
settings::{defaults::DEFAULT_DATABASE_POOL_SIZE, structs::Settings},
|
settings::structs::Settings,
|
||||||
LemmyError,
|
LemmyError,
|
||||||
};
|
};
|
||||||
use lemmy_websocket::{chat_server::ChatServer, LemmyContext};
|
use lemmy_websocket::{chat_server::ChatServer, LemmyContext};
|
||||||
|
@ -38,12 +38,7 @@ async fn main() -> Result<(), LemmyError> {
|
||||||
};
|
};
|
||||||
let manager = ConnectionManager::<PgConnection>::new(&db_url);
|
let manager = ConnectionManager::<PgConnection>::new(&db_url);
|
||||||
let pool = Pool::builder()
|
let pool = Pool::builder()
|
||||||
.max_size(
|
.max_size(settings.database().pool_size())
|
||||||
settings
|
|
||||||
.database()
|
|
||||||
.pool_size
|
|
||||||
.unwrap_or(DEFAULT_DATABASE_POOL_SIZE),
|
|
||||||
)
|
|
||||||
.build(manager)
|
.build(manager)
|
||||||
.unwrap_or_else(|_| panic!("Error connecting to {}", db_url));
|
.unwrap_or_else(|_| panic!("Error connecting to {}", db_url));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue