Skip to main content

schema_model/model/
initial_data.rs

1use crate::model::types::DatabaseType;
2
3#[derive(Debug, Clone)]
4pub struct InitialData {
5    sql: String,
6    database_type: Option<DatabaseType>,
7}
8
9impl InitialData {
10    pub fn new<S: Into<String>>(sql: S, database_type: Option<DatabaseType>) -> Self {
11        Self {
12            sql: sql.into(),
13            database_type,
14        }
15    }
16
17    pub fn sql(&self) -> &str {
18        &self.sql
19    }
20    pub fn database_type(&self) -> Option<DatabaseType> {
21        self.database_type
22    }
23}
24
25#[cfg(test)]
26mod tests {
27    use super::*;
28
29    #[test]
30    fn constructor_and_getters() {
31        let i = InitialData::new("insert into t values (1)", Option::from(DatabaseType::Postgresql));
32        assert_eq!(i.sql(), "insert into t values (1)");
33        assert_eq!(i.database_type(), Option::from(DatabaseType::Postgresql));
34    }
35}