torrust_index/config/v2/
database.rs

1use serde::{Deserialize, Serialize};
2use url::Url;
3
4/// Database configuration.
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
6pub struct Database {
7    /// The connection URL for the database. For example:
8    ///
9    /// Sqlite: `sqlite://data.db?mode=rwc`.
10    /// Mysql: `mysql://root:root_secret_password@mysql:3306/torrust_index_e2e_testing`.
11    #[serde(default = "Database::default_connect_url")]
12    pub connect_url: Url,
13}
14
15impl Default for Database {
16    fn default() -> Self {
17        Self {
18            connect_url: Self::default_connect_url(),
19        }
20    }
21}
22
23impl Database {
24    fn default_connect_url() -> Url {
25        Url::parse("sqlite://data.db?mode=rwc").unwrap()
26    }
27}