   (try
     (alia/execute session (format "USE %s;" keyspace))
     (catch clojure.lang.ExceptionInfo e
-      (throw
-       (ex-info "Keyspace is not present. You need to migrate first." {})))))
+      (let [err-msg (.getMessage (:exception (ex-data e)))]
+        (if (clojure.string/ends-with? err-msg "does not exist")
+          (do (logger/warn err-msg)
+              (logger/warn "You need to run the migrations first."))
+          (logger/error err-msg))))))
 
 (defn cassandra-config
   "Returns the cassandra configuration"

(declare ->Cassandra)

;; Specs ---------------------------------------------------
(spec/def ::cassanda-configuration
  (spec/keys :req [::connection ::keyspace]))


;; Private functions ---------------------------------------
(defn- connect
  [config]
  (let [cluster (alia/cluster (:connecttion config))]
    (alia/connect cluster)))

(defn- check-session
  [session name]

  (start [this]
    ;; Validate Configuration
    (spec/valid? ::cassanda-configuration options)
    (logger/info "Connecting to Cassandra cluster...")

    ;; Connect to the cluster and select the default keyspace
    (let [session          (connect options)
          keyspace         (:name (:keyspace options))]
      (select-keyspace session keyspace)
      (logger/info "Connected to cassandra cluster.")
      (assoc this :session session :keyspace keyspace)))

  (stop [this]
