this repo has no description
1(import sqlite3)
2
3(defmacro querify [schema-file]
4 ~(defn ,(symbol table-name) [conn]
5 (sqlite3/eval conn ,(string/format "select * from %s;" table-name)))
6
7 (def conn (sqlite3/open ":memory:"))
8 (sqlite3/eval conn (string (slurp schema-file)))
9 (def tables
10 (->> (sqlite3/eval conn "select name from sqlite_schema where type = 'table';")
11 (map |($ :name))
12 (filter |(not (string/has-prefix? "sqlite_" $)))))
13 (sqlite3/close conn)
14
15 ~(upscope
16 ,;(map table-definition tables)))
17
18(querify "schema.sql")
19
20(defn main [&]
21 (def conn (sqlite3/open "db.sqlite"))
22 (pp (people conn))
23 (pp (grudges conn)))