32 lines
702 B
Haskell
32 lines
702 B
Haskell
{-# LANGUAGE FlexibleContexts #-}
|
|
module Util where
|
|
|
|
import Opaleye
|
|
|
|
import Data.Maybe (fromMaybe)
|
|
|
|
import Data.Profunctor.Product.Default (Default)
|
|
|
|
import Database.PostgreSQL.Simple
|
|
|
|
import Control.Monad (void)
|
|
|
|
-- internal imports
|
|
|
|
import Model
|
|
|
|
printSql :: Default Unpackspec a a => Select a -> IO ()
|
|
printSql = putStrLn . fromMaybe "Empty query" . showSqlForPostgres
|
|
|
|
initDB :: Connection -> IO ()
|
|
initDB conn = do
|
|
execute_ conn initAvatar
|
|
execute_ conn initUser
|
|
execute_ conn initProduct
|
|
execute_ conn initToken
|
|
execute_ conn initAuthData
|
|
execute_ conn initAmount
|
|
execute_ conn initJournal
|
|
execute_ conn initRole
|
|
execute_ conn initUserToRole
|
|
void $ runInsertInitialRoles conn
|