mirror of
https://github.com/khibino/haskell-relational-record.git
synced 2024-12-18 09:12:47 +03:00
7e98380848
--HG-- rename : schema-th/pgTest/PgTest.hs => relational-join-HDBC-pgTest/pgTest/PgTest.hs rename : schema-th/pgTest/PgTestDataSource.hs => relational-join-HDBC-pgTest/pgTest/PgTestDataSource.hs rename : schema-th/pgTest/runCreate.sh => relational-join-HDBC-pgTest/pgTest/runCreate.sh rename : schema-th/pgTest/runDrop.sh => relational-join-HDBC-pgTest/pgTest/runDrop.sh rename : schema-th/sample/1/Group.hs => relational-join-HDBC-pgTest/sample/1/Group.hs rename : schema-th/sample/1/Membership.hs => relational-join-HDBC-pgTest/sample/1/Membership.hs rename : schema-th/sample/1/README => relational-join-HDBC-pgTest/sample/1/README rename : schema-th/sample/1/User.hs => relational-join-HDBC-pgTest/sample/1/User.hs rename : schema-th/sample/1/create.sh => relational-join-HDBC-pgTest/sample/1/create.sh rename : schema-th/sample/1/drop.sh => relational-join-HDBC-pgTest/sample/1/drop.sh rename : schema-th/sample/1/querySample.hs => relational-join-HDBC-pgTest/sample/1/querySample.hs
22 lines
647 B
Haskell
22 lines
647 B
Haskell
|
|
module PgTestDataSource (
|
|
connect, defineTable
|
|
) where
|
|
|
|
import Language.Haskell.TH (Q, Dec, TypeQ)
|
|
import Database.HDBC.PostgreSQL (connectPostgreSQL, Connection)
|
|
import Database.HDBC.Schema.PostgreSQL (driverPostgreSQL)
|
|
import Database.HDBC.Schema.Driver (typeMap)
|
|
import Language.Haskell.TH.Name.CamelCase (ConName)
|
|
import Database.HDBC.TH (defineTableFromDB)
|
|
|
|
connect :: IO Connection
|
|
connect = connectPostgreSQL "dbname=testdb"
|
|
|
|
defineTable :: [(String, TypeQ)] -> String -> String -> [ConName] -> Q [Dec]
|
|
defineTable tmap scm tbl derives = do
|
|
defineTableFromDB
|
|
connect
|
|
(driverPostgreSQL { typeMap = tmap })
|
|
scm tbl derives
|