freckle-app-1.0.2.3: library/Freckle/App/Ghci.hs
module Freckle.App.Ghci
( runDB
, runDB'
, loadEnv
, loadEnvTest
) where
import Freckle.App.Prelude
import Database.Persist.Postgresql (runSqlPool)
import Database.Persist.Sql (SqlBackend)
import Freckle.App.Database (makePostgresPool)
import LoadEnv (loadEnv, loadEnvFrom)
-- | Run a db action against .env
runDB :: ReaderT SqlBackend IO b -> IO b
runDB f = loadEnv *> runDB' f
-- | Run a db action
runDB' :: ReaderT SqlBackend IO b -> IO b
runDB' f = do
pool <- makePostgresPool
runSqlPool f pool
loadEnvTest :: IO ()
loadEnvTest = loadEnvFrom ".env.test"