polysemy-hasql-0.0.1.0: lib/Polysemy/Hasql/Statement.hs
module Polysemy.Hasql.Statement where
import Hasql.Statement (Statement)
import Polysemy.Db.Data.DbName (DbName, unDbName)
import Sqel.Data.Sql (Sql, sql, sqlQuote)
import Sqel.Statement (plain)
quoteName :: DbName -> Sql
quoteName =
sqlQuote . unDbName
createDbSql ::
DbName ->
Sql
createDbSql (quoteName -> name) =
[sql|create database #{name}|]
createDb ::
DbName ->
Statement () ()
createDb =
plain . createDbSql
dropDbSql ::
DbName ->
Sql
dropDbSql (quoteName -> name) =
[sql|drop database #{name}|]
dropDb ::
DbName ->
Statement () ()
dropDb =
plain . dropDbSql