module
Marten::DB::Connection
Defined in:
marten/db/connection.crmarten/db/connection/base.cr
marten/db/connection/mysql.cr
marten/db/connection/postgresql.cr
marten/db/connection/sqlite.cr
Constant Summary
-
DEFAULT_CONNECTION_NAME =
"default" -
IMPLEMENTATIONS =
{MYSQL_ID => MySQL, POSTGRESQL_ID => PostgreSQL, SQLITE_ID => SQLite} -
MYSQL_ID =
"mysql" -
POSTGRESQL_ID =
"postgresql" -
SQLITE_ID =
"sqlite"
Class Method Summary
-
.default
Returns the default database connection.
-
.for(model : Model.class, *, write : Bool = false, instance : Model | Nil = nil)
Returns the connection to use for the passed model.
-
.get(db_alias : String | Symbol)
Returns the database connection configured for a given
db_alias. - .register(db_config : Conf::GlobalSettings::Database)
- .registry
Class Method Detail
Returns the connection to use for the passed model.
Configured database routers are consulted in order to determine which database alias should be used. The
write argument indicates whether the connection is intended for a write operation (true) or a read
operation (false). An optional model instance can be provided so that routers can take instance-level
hints into account (such as a sticky database alias).
If no router provides an opinion, the default database connection is returned.
Returns the database connection configured for a given db_alias.
If no database connection can be found, a Marten::DB::Errors::UnknownConnection exception is raised.