pub fn build(
    driver: &DatabaseDriver,
    db_path: &str
) -> Result<Box<dyn Database>, Error>
Expand description

It builds a new database driver.

Example for SQLite3:

use torrust_tracker::tracker::databases;
use torrust_tracker_primitives::DatabaseDriver;

let db_driver = DatabaseDriver::Sqlite3;
let db_path = "./storage/database/data.db".to_string();
let database = databases::driver::build(&db_driver, &db_path);

Example for MySQL:

use torrust_tracker::tracker::databases;
use torrust_tracker_primitives::DatabaseDriver;

let db_driver = DatabaseDriver::MySQL;
let db_path = "mysql://db_user:db_user_secret_password@mysql:3306/torrust_tracker".to_string();
let database = databases::driver::build(&db_driver, &db_path);

Refer to the configuration documentation for more information about the database configuration.

WARNING: The driver instantiation runs database migrations.

Errors

This function will return an error if unable to connect to the database.