diff --git a/src/mysql/writer/mod.rs b/src/mysql/writer/mod.rs
index e5eb498a..5c2bae8d 100644
--- a/src/mysql/writer/mod.rs
+++ b/src/mysql/writer/mod.rs
@@ -13,14 +13,10 @@ pub use table::*;
 pub use types::*;
 
 use super::def::Schema;
-use sea_query::SchemaStatement;
+use sea_query::TableCreateStatement;
 
 impl Schema {
-    pub fn write(&self) -> Vec<SchemaStatement> {
-        let mut statements = Vec::new();
-        for table in self.tables.iter() {
-            statements.push(SchemaStatement::TableStatement(table.write()));
-        }
-        statements
+    pub fn write(&self) -> Vec<TableCreateStatement> {
+        self.tables.iter().map(|table| table.write()).collect()
     }
 }
diff --git a/src/mysql/writer/table.rs b/src/mysql/writer/table.rs
index b9f1eed4..4a6b1ba7 100644
--- a/src/mysql/writer/table.rs
+++ b/src/mysql/writer/table.rs
@@ -1,8 +1,8 @@
 use crate::mysql::def::TableDef;
-use sea_query::{Alias, Iden, Table, TableStatement};
+use sea_query::{Alias, Iden, Table, TableCreateStatement};
 
 impl TableDef {
-    pub fn write(&self) -> TableStatement {
+    pub fn write(&self) -> TableCreateStatement {
         let mut table = Table::create();
         table.table(Alias::new(self.info.name.as_ref()));
         for col in self.columns.iter() {
@@ -17,7 +17,7 @@ impl TableDef {
         for key in self.foreign_keys.iter() {
             table.foreign_key(&mut key.write());
         }
-        TableStatement::Create(table)
+        table
     }
 }
 
diff --git a/src/postgres/writer/mod.rs b/src/postgres/writer/mod.rs
index 732480f4..fb935fc5 100644
--- a/src/postgres/writer/mod.rs
+++ b/src/postgres/writer/mod.rs
@@ -13,14 +13,10 @@ pub use table::*;
 pub use types::*;
 
 use super::def::Schema;
-use sea_query::SchemaStatement;
+use sea_query::TableCreateStatement;
 
 impl Schema {
-    pub fn write(&self) -> Vec<SchemaStatement> {
-        let mut statements = Vec::new();
-        for table in self.tables.iter() {
-            statements.push(SchemaStatement::TableStatement(table.write()));
-        }
-        statements
+    pub fn write(&self) -> Vec<TableCreateStatement> {
+        self.tables.iter().map(|table| table.write()).collect()
     }
 }
diff --git a/src/postgres/writer/table.rs b/src/postgres/writer/table.rs
index 67cfbbd5..f4cd5958 100644
--- a/src/postgres/writer/table.rs
+++ b/src/postgres/writer/table.rs
@@ -1,8 +1,8 @@
 use crate::postgres::def::TableDef;
-use sea_query::{Alias, Table, TableStatement};
+use sea_query::{Alias, Table, TableCreateStatement};
 
 impl TableDef {
-    pub fn write(&self) -> TableStatement {
+    pub fn write(&self) -> TableCreateStatement {
         let mut table = Table::create();
         table.table(Alias::new(self.info.name.as_ref()));
         for col in self.columns.iter() {
@@ -17,6 +17,6 @@ impl TableDef {
         for reference in self.reference_constraints.iter() {
             table.foreign_key(&mut reference.write());
         }
-        TableStatement::Create(table)
+        table
     }
 }
diff --git a/src/sqlite/discovery.rs b/src/sqlite/discovery.rs
index 56acadaf..d5f083b6 100644
--- a/src/sqlite/discovery.rs
+++ b/src/sqlite/discovery.rs
@@ -30,6 +30,7 @@ impl SchemaDiscovery {
             .column(Alias::new("name"))
             .from(Alias::new("sqlite_master"))
             .and_where(Expr::col(Alias::new("type")).eq("table"))
+            .and_where(Expr::col(Alias::new("name")).ne("sqlite_sequence"))
             .to_owned();
 
         let mut tables = Vec::new();
@@ -50,6 +51,7 @@ impl SchemaDiscovery {
             .column(Alias::new("name"))
             .from(Alias::new("sqlite_master"))
             .and_where(Expr::col(Alias::new("type")).eq("table"))
+            .and_where(Expr::col(Alias::new("name")).ne("sqlite_sequence"))
             .to_owned();
 
         let mut tables = Vec::new();
diff --git a/src/sqlite/errors.rs b/src/sqlite/errors.rs
index 227a1258..c6eafb22 100644
--- a/src/sqlite/errors.rs
+++ b/src/sqlite/errors.rs
@@ -34,3 +34,16 @@ impl From<sqlx::Error> for SqliteDiscoveryError {
         SqliteDiscoveryError::SqlxError(error)
     }
 }
+
+impl std::error::Error for SqliteDiscoveryError {}
+
+impl std::fmt::Display for SqliteDiscoveryError {
+    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
+        match self {
+            SqliteDiscoveryError::ParseIntError => write!(f, "Parse Integer Error"),
+            SqliteDiscoveryError::ParseFloatError => write!(f, "Parse Float Error Error"),
+            SqliteDiscoveryError::SqlxError(e) => write!(f, "SQLx Error: {}", e),
+            SqliteDiscoveryError::NoIndexesFound => write!(f, "No Indexes Found Error"),
+        }
+    }
+}
diff --git a/src/sqlite/types.rs b/src/sqlite/types.rs
index cc77197f..944de162 100644
--- a/src/sqlite/types.rs
+++ b/src/sqlite/types.rs
@@ -31,6 +31,7 @@ pub enum Type {
     Boolean,
     Date,
     DateTime,
+    Timestamp,
 }
 
 impl Type {
@@ -71,6 +72,7 @@ impl Type {
             "BOOLEAN" => Type::Boolean,
             "DATE" => Type::Date,
             "DATETIME" => Type::DateTime,
+            "TIMESTAMP" => Type::Timestamp,
             _ => Type::variable_types(&split_type)?,
         };
 
@@ -100,7 +102,7 @@ impl Type {
             | Self::NvarChar { .. }
             | Self::Text
             | Self::Clob => {
-                column_def.text();
+                column_def.string();
             }
             Self::Blob => {
                 column_def.custom(Alias::new("BLOB"));
@@ -123,6 +125,9 @@ impl Type {
             Self::DateTime => {
                 column_def.date_time();
             }
+            Self::Timestamp => {
+                column_def.timestamp();
+            }
         }
     }
 
diff --git a/tests/live/sqlite/src/main.rs b/tests/live/sqlite/src/main.rs
index 51fcfb2c..b66db18a 100644
--- a/tests/live/sqlite/src/main.rs
+++ b/tests/live/sqlite/src/main.rs
@@ -216,7 +216,6 @@ async fn test_001() -> DiscoveryResult<()> {
             .collect::<Vec<_>>(),
         vec![
             create_table.to_string(SqliteQueryBuilder),
-            "CREATE TABLE `sqlite_sequence` ( `name` BLOB, `seq` BLOB )".to_owned(),
             table_create_supplier_groups.to_string(SqliteQueryBuilder),
             table_create_suppliers.to_string(SqliteQueryBuilder),
         ]