-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdb.rkt
More file actions
33 lines (26 loc) · 747 Bytes
/
Copy pathdb.rkt
File metadata and controls
33 lines (26 loc) · 747 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#lang racket/base
;; TODO: Use an ORM?
(require db
racket/system
racket/match)
(provide db-conn db-reset db-init)
(define db-name "sample-db.sqlite3")
(define db-conn
(virtual-connection
(connection-pool
(lambda () (sqlite3-connect #:database db-name
#:mode 'create)))))
(define (db-reset)
(for ([q '("DROP TABLE IF EXISTS sample_table_1"
"DROP TABLE IF EXISTS sample_table_2")])
(query-exec db-conn q))
(db-init))
(define (db-init)
(for ([q '("CREATE TABLE IF NOT EXISTS sample_table_1 (
id INTEGER PRIMARY KEY
)"
"CREATE TABLE IF NOT EXISTS sample_table_2 (
id INTEGER PRIMARY KEY
)"
)])
(query-exec db-conn q)))