22//!
33//! See [`databases::driver::build`](crate::core::databases::driver::build)
44//! function for more information.
5- use torrust_tracker_primitives :: DatabaseDriver ;
5+ use serde :: { Deserialize , Serialize } ;
66
77use super :: error:: Error ;
88use super :: mysql:: Mysql ;
99use super :: sqlite:: Sqlite ;
1010use super :: { Builder , Database } ;
1111
12+ /// The database management system used by the tracker.
13+ ///
14+ /// Refer to:
15+ ///
16+ /// - [Torrust Tracker Configuration](https://docs.rs/torrust-tracker-configuration).
17+ /// - [Torrust Tracker](https://docs.rs/torrust-tracker).
18+ ///
19+ /// For more information about persistence.
20+ #[ allow( clippy:: module_name_repetitions) ]
21+ #[ derive( Serialize , Deserialize , PartialEq , Eq , Debug , derive_more:: Display , Clone ) ]
22+ pub enum DatabaseDriver {
23+ /// The Sqlite3 database driver.
24+ Sqlite3 ,
25+ /// The `MySQL` database driver.
26+ MySQL ,
27+ }
28+
1229/// It builds a new database driver.
1330///
1431/// Example for `SQLite3`:
1532///
1633/// ```rust,no_run
1734/// use torrust_tracker::core::databases;
18- /// use torrust_tracker_primitives ::DatabaseDriver;
35+ /// use torrust_tracker::core::databases::driver ::DatabaseDriver;
1936///
2037/// let db_driver = DatabaseDriver::Sqlite3;
2138/// let db_path = "./storage/tracker/lib/database/sqlite3.db".to_string();
@@ -26,7 +43,7 @@ use super::{Builder, Database};
2643///
2744/// ```rust,no_run
2845/// use torrust_tracker::core::databases;
29- /// use torrust_tracker_primitives ::DatabaseDriver;
46+ /// use torrust_tracker::core::databases::driver ::DatabaseDriver;
3047///
3148/// let db_driver = DatabaseDriver::MySQL;
3249/// let db_path = "mysql://db_user:db_user_secret_password@mysql:3306/torrust_tracker".to_string();
0 commit comments