pub struct Config { /* private fields */ }Expand description
Main configuration structure
Supports both single-database (legacy) and multi-database configurations:
Single database:
dialect = "sqlite"
[dbCredentials]
url = "./dev.db"Multiple databases:
[databases.dev]
dialect = "sqlite"
[databases.dev.dbCredentials]
url = "./dev.db"
[databases.prod]
dialect = "postgresql"
[databases.prod.dbCredentials]
url = { env = "DATABASE_URL" }Implementations§
Source§impl Config
impl Config
Sourcepub fn load_from(path: &Path) -> Result<Self, Error>
pub fn load_from(path: &Path) -> Result<Self, Error>
Load from specific path.
§Errors
Returns Error::NotFound if path does not exist, Error::Io for
other read errors, and Error variants for JSON-parse or validation
failures.
Sourcepub const fn is_single_database(&self) -> bool
pub const fn is_single_database(&self) -> bool
Check if this is a single-database config
Sourcepub fn database_names(&self) -> impl Iterator<Item = &str>
pub fn database_names(&self) -> impl Iterator<Item = &str>
Get all database names
Sourcepub fn database(&self, name: Option<&str>) -> Result<&DatabaseConfig, Error>
pub fn database(&self, name: Option<&str>) -> Result<&DatabaseConfig, Error>
Get a specific database config by name.
If name is None, returns the default/only database.
For single-db configs, any name or None returns the single database.
§Errors
Returns Error::NoDatabases if the config has no databases,
Error::DatabaseNotFound if name does not match any configured
database, or Error::DatabaseRequired if multiple databases exist
and no name was supplied.
Sourcepub fn default_database(&self) -> Result<&DatabaseConfig, Error>
pub fn default_database(&self) -> Result<&DatabaseConfig, Error>
Get the default database (for single-db mode or when only one db exists).
§Errors
Returns the same errors as Self::database invoked with None.
Sourcepub fn credentials(&self) -> Result<Option<Credentials>, Error>
pub fn credentials(&self) -> Result<Option<Credentials>, Error>
Get credentials (for single-db mode backwards compat).
§Errors
Returns Error if resolving the default database or its credentials
fails (see Self::default_database and DatabaseConfig::credentials).
Sourcepub fn migrations_dir(&self) -> &Path
pub fn migrations_dir(&self) -> &Path
Get migrations directory (for single-db mode backwards compat)
Sourcepub fn journal_path(&self) -> PathBuf
pub fn journal_path(&self) -> PathBuf
Get journal path (for single-db mode backwards compat)
Sourcepub fn schema_display(&self) -> String
pub fn schema_display(&self) -> String
Get schema display (for single-db mode backwards compat)
Sourcepub fn schema_files(&self) -> Result<Vec<PathBuf>, Error>
pub fn schema_files(&self) -> Result<Vec<PathBuf>, Error>
Get schema files (for single-db mode backwards compat).
§Errors
Returns Error if resolving the default database fails or if
resolving its schema files fails (see DatabaseConfig::schema_files).
Sourcepub fn base_dialect(&self) -> Dialect
pub fn base_dialect(&self) -> Dialect
Base dialect for SQL generation (for single-db mode backwards compat)