26 lines
772 B
Haskell
26 lines
772 B
Haskell
|
{-# LANGUAGE QuasiQuotes #-}
|
||
|
|
||
|
module Database where
|
||
|
|
||
|
import Database.SQLite.Simple.QQ
|
||
|
import Database.SQLite.Simple
|
||
|
|
||
|
import Api.Types
|
||
|
|
||
|
initDb :: FilePath -> IO ()
|
||
|
initDb dbFile = withConnection dbFile $ \conn ->
|
||
|
execute_ conn
|
||
|
[sql|CREATE TABLE IF NOT EXISTS quotes ( quote text non null
|
||
|
, author text
|
||
|
, title text
|
||
|
, page text
|
||
|
, chapter text
|
||
|
, created_on integer);|]
|
||
|
|
||
|
insertQts :: FilePath -> [Quote] -> IO ()
|
||
|
insertQts db qts = do
|
||
|
withConnection db $ \c ->
|
||
|
executeMany c qry qts
|
||
|
where
|
||
|
qry = [sql|INSERT INTO quotes VALUES (?,?,?,?,?,?);|]
|