           (.setDataSource flyway datasource)
           (.setDataSource flyway url user password))
         flyway)
-    (log/fatal "Neither datasource nor url, user, and password given!")))
+    (throw (IllegalArgumentException.
+             "Neither datasource nor url, user, and password given!"))))
 
 (defn- set-migrations-loc
   [flyway migration-loc]


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

(defn clean
  [dialect db-spec options]
  (if-let [fw (create-flyway dialect db-spec options)]
    (do
      (.clean fw)
      db-spec)
    (log/fatalf "Could not create flyway!")))

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

(defn- set-schema
  [flyway schema]
