|
1 | 1 | (ns patronage.models.schema
|
2 |
| - (:require [clojure.java.jdbc :as sql] |
3 |
| - [patronage.util :as util])) |
| 2 | + (:require [clojure.java.jdbc :as sql] |
| 3 | + [environ.core :refer [env]] |
| 4 | + [korma.db :refer :all ] |
| 5 | + [patronage.util :as util])) |
4 | 6 |
|
5 |
| -(def db-store "site.db") |
6 |
| - |
7 |
| -(def db-spec {:classname "org.h2.Driver" |
8 |
| - :subprotocol "h2" |
9 |
| - :subname (str (util/resource-path) db-store) |
10 |
| - :user "sa" |
11 |
| - :password "" |
12 |
| - :naming {:keys clojure.string/lower-case |
13 |
| - :fields clojure.string/upper-case}}) |
14 |
| - |
15 |
| -(defn initialized? |
16 |
| - "checks to see if the database schema is present" |
17 |
| - [] |
18 |
| - (.exists (new java.io.File (str (util/resource-path) db-store ".h2.db")))) |
| 7 | +(def db-spec (env :database-url)) |
19 | 8 |
|
20 | 9 | (defn create-users-table
|
21 | 10 | []
|
22 | 11 | (sql/with-connection db-spec
|
23 | 12 | (sql/create-table
|
24 |
| - :users |
25 |
| - [:id "integer PRIMARY KEY AUTO_INCREMENT"] |
26 |
| - [:first_name "varchar(30)"] |
27 |
| - [:last_name "varchar(30)"] |
28 |
| - [:email "varchar(30)"] |
29 |
| - [:admin :boolean] |
30 |
| - [:current_sign_in_at :time] |
31 |
| - [:last_sign_in_at :time] |
32 |
| - [:password "varchar(100)"]))) |
| 13 | + :users |
| 14 | + [:id "serial PRIMARY KEY"] |
| 15 | + [:first_name "varchar(30)"] |
| 16 | + [:last_name "varchar(30)"] |
| 17 | + [:email "varchar(30)"] |
| 18 | + [:admin :boolean] |
| 19 | + [:current_sign_in_at :time] |
| 20 | + [:last_sign_in_at :time] |
| 21 | + [:password "varchar(100)"]))) |
33 | 22 |
|
34 | 23 | (defn create-bids-table
|
35 | 24 | []
|
36 | 25 | (sql/with-connection db-spec
|
37 | 26 | (sql/create-table
|
38 |
| - :bids |
39 |
| - [:id "integer PRIMARY KEY AUTO_INCREMENT"] |
40 |
| - [:url "varchar(2000)"] |
41 |
| - [:offer "bigint"] |
42 |
| - [:ask "bigint"] |
43 |
| - [:user_id "integer NOT NULL"]))) |
| 27 | + :bids |
| 28 | + [:id "serial PRIMARY KEY"] |
| 29 | + [:url "varchar(2000)"] |
| 30 | + [:offer "bigint"] |
| 31 | + [:ask "bigint"] |
| 32 | + [:user_id "integer NOT NULL"]))) |
44 | 33 |
|
45 | 34 | (defn create-tables
|
46 | 35 | "creates the database tables used by the application"
|
|
0 commit comments