 
 (defn migrate
   [dialect db-spec options]
-  (if-let [fw (create-flyway dialect db-spec options)]
+  (let [fw (create-flyway dialect db-spec options)]
     (when (has-pending-migrations? fw)
       (do
         (.migrate fw)
-        db-spec))
-    (log/fatalf "Could not create flyway!")))
+        db-spec))))
 
 (defn clean
   [dialect db-spec options]
-  (if-let [fw (create-flyway dialect db-spec options)]
+  (let [fw (create-flyway dialect db-spec options)]
     (do
       (.clean fw)
-      db-spec)
-    (log/fatalf "Could not create flyway!")))
+      db-spec)))

  [dialect {:keys [datasource url user password]} {:keys [schema
                                                          placeholders]
                                                   :as options}]
  (some-> (Flyway.)
    (set-datasource datasource url user password)
    (set-schema schema)
    (set-placeholders placeholders schema)

    (do 
      (.setLocations flyway (into-array String [migration-loc]))
      flyway)
    (throw (IllegalArgumentException.
             (format "Migraion loc '%s' is missing!" migration-loc)))))

(defn- set-schema
  [flyway schema]
