diff --git a/src/databases/mod.rs b/src/databases/mod.rs index 23ef563..7943b3b 100644 --- a/src/databases/mod.rs +++ b/src/databases/mod.rs @@ -1,4 +1,4 @@ -use rusqlite::{Connection, Result, Error}; +use rusqlite::{Connection, Result}; pub fn connect(db_connection: String) -> Result { Connection::open(db_connection) @@ -8,6 +8,6 @@ pub fn run_command(connection: &Connection, sql: String) -> Result { connection.execute(sql.as_str(), []) } -pub fn disconnect(connection: Connection) -> Result<(), (Connection, Error)> { - connection.close() +pub fn disconnect(connection: Connection) { + connection.close().expect("Error closing sqlite connection"); } diff --git a/src/lib.rs b/src/lib.rs index 5eb151a..02514c0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -26,7 +26,7 @@ impl DbBuilderFacade { if let Ok(connection) = connection_result { run_command(&connection, sql_tables).expect("Failed to execute query"); - disconnect(connection).expect("Failed to disconnect from sqlite"); + disconnect(connection); Ok(()) } else { Err("Failed to connect to the server".to_string()) diff --git a/src/query_builders/column_sql_serializer.rs b/src/query_builders/column_sql_serializer.rs index 4432d48..9268b4e 100644 --- a/src/query_builders/column_sql_serializer.rs +++ b/src/query_builders/column_sql_serializer.rs @@ -6,7 +6,7 @@ pub struct ColumnSqlSerializer {} impl ColumnSqlSerializer { pub fn serialize(self, column: Column) -> Result { - let mut query = String::from(column.name); + let mut query = column.name; query.push(' '); query += &*String::from(column.datatype); diff --git a/src/schemas/builders.rs b/src/schemas/builders.rs index b7ceee4..ddc3b43 100644 --- a/src/schemas/builders.rs +++ b/src/schemas/builders.rs @@ -84,6 +84,12 @@ impl ColumnBuilder { } } +impl Default for ColumnBuilder { + fn default() -> Self { + Self::new() + } +} + pub struct TableBuilder { name: String, columns: Vec, @@ -119,6 +125,12 @@ impl TableBuilder { } } +impl Default for TableBuilder { + fn default() -> Self { + Self::new() + } +} + #[cfg(test)] mod test { use crate::mappings::SQLiteDatatypes; diff --git a/src/schemas/entities.rs b/src/schemas/entities.rs index cd14be2..b3f22af 100644 --- a/src/schemas/entities.rs +++ b/src/schemas/entities.rs @@ -27,28 +27,3 @@ pub struct Column { #[serde(default)] pub primary_key: bool } - -impl Table { - pub fn new(name: String, columns: Vec, strict: bool) -> Table { - Table { - name, - columns, - strict - } - } -} - -impl Column { - pub fn new(name: String, datatype: SQLiteDatatypes, nullable: bool, default: Option, auto_increment: bool, unique: bool, check_constraint: Option, primary_key: bool) -> Column { - Column { - name, - datatype, - nullable, - default, - auto_increment, - unique, - check_constraint, - primary_key - } - } -}