Skip to content

Database

Andros Fenollosa edited this page Sep 16, 2019 · 5 revisions

Configure

SQLite

             [org.xerial/sqlite-jdbc "3.7.2"]
 :db {
        :classname   "org.sqlite.JDBC"
        :subprotocol "sqlite"
        :subname     "db.sqlite"
        }

MySQL

 :db {
       :dbtype "mysql"
       :dbname "clojure_test"
       :user "clojure_test"
       :password "clojure_test"
       }

PostgreSQL

            [org.postgresql/postgresql "42.2.6"]
 :db {
       :dbtype "postgresql"
       :dbname "example"
       :host "localhost"
       :user "postgres"
       :password "postgres"
       :ssl false
       :sslfactory "org.postgresql.ssl.NonValidatingFactory"
       }

URI: Support PostgreSQL (Heroku, RedHat OpenShift and others) and MySQL

             [com.carouselapps/to-jdbc-uri "0.5.0"]
 :db {
      :connection-uri (to-jdbc-uri "postgresql://postgres:postgres@localhost:5432/example?ssl=false&sslfactory=org.postgresql.ssl.NonValidatingFactory")
     }

Migrate

lein migrate
lein rollback

Query

[tadam.db :refer [query_one]]

(query_one ["SELECT * FROM users WHERE id = ?" 1])
[tadam.db :refer [query_all]]

(query_all ["SELECT * FROM posts"])

Insert

(insert :users [{:first_name "Doctor" :email "who@tardis.time" :password "I hate Daleks" :role_id 1 :is_active true}])
Clone this wiki locally