             }
             return columnDefinition
         }
-        
-        if existingTables.contains(tableName) {
-            let select = "select * from \(tableName) limit 0"
-            do{
-                let statement = try self.database.prepare(select)
-                let columnNames = statement.columnNames
-                propertyDatas.forEach{ property in
-                    if !columnNames.contains(property.name!) {
-                        let alertSQL = "alter table \(tableName) add column \(columnDefinition)"
-                        execute(alertSQL)
-                    }
+        let select = "select * from \(tableName) limit 0"
+        do{
+            let statement = try self.database.prepare(select)
+            let columnNames = statement.columnNames
+            propertyDatas.forEach{ property in
+                if !columnNames.contains(property.name!) {
+                    let alertSQL = "alter table \(tableName) add column \(columnDefinition(property))"
+                    execute(alertSQL)
                 }
-            } catch {
-                
             }
-        } else {
+        } catch {
             var statement = "CREATE TABLE \(tableName) ("
             var columnDefinitions: [String] = []
             for propertyData in propertyDatas {

    private let database = try! Connection("db.sqlite3")
    private var existingTables: Set<String> = []
    public init() {
        
    }
    public func fetchOne(table table: String, filter: Filter?) -> [String: Binding?]? {
        let sql = SQL(operation: .SELECT, table: table)

            return nil
        }
    }

    public func delete(table table: String, filter: Filter?) {
        let sql = SQL(operation: .DELETE, table: table)
        sql.filter = filter
        execute(sql)?.run()
    }

    public func update(table table: String, filter: Filter?, data: [String: Binding?]) {
        let sql = SQL(operation: .UPDATE, table: table)
        sql.filter = filter
        sql.data = data
        execute(sql)?.run()
    }

    public func insert(table table: String, items: [[String: Binding?]]) {
        for item in items {
            let sql = SQL(operation: .INSERT, table: table)
