1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use torrust_tracker_primitives::DatabaseDriver;
use super::error::Error;
use super::mysql::Mysql;
use super::sqlite::Sqlite;
use super::{Builder, Database};
pub fn build(driver: &DatabaseDriver, db_path: &str) -> Result<Box<dyn Database>, Error> {
let database = match driver {
DatabaseDriver::Sqlite3 => Builder::<Sqlite>::build(db_path),
DatabaseDriver::MySQL => Builder::<Mysql>::build(db_path),
}?;
database.create_database_tables().expect("Could not create database tables.");
Ok(database)
}