hamsql-0.9.0.0: src/Database/HamSql/Internal/Stmt/Database.hs
-- This file is part of HamSql
--
-- Copyright 2016 by it's authors.
-- Some rights reserved. See COPYING, AUTHORS.
module Database.HamSql.Internal.Stmt.Database where
import Database.HamSql.Internal.Stmt.Basic
data SQL_DATABASE =
SQL_DATABASE
deriving (SqlObjType, Show)
instance ToSqlCode SQL_DATABASE where
toSqlCode = const "DATABASE"
-- | create database
stmtsCreateDatabase :: Bool -> SqlName -> [Maybe SqlStmt]
stmtsCreateDatabase deleteDatabase dbName =
[ sqlDelete deleteDatabase
, newSqlStmt SqlCreateDatabase (SqlId $ SqlObj SQL_DATABASE dbName) $
"CREATE DATABASE " <> toSqlCode dbName
, newSqlStmt
SqlCreateDatabase
(SqlId $ SqlObj SQL_DATABASE dbName)
"ALTER DEFAULT PRIVILEGES REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC"
]
where
sqlDelete True =
newSqlStmt SqlDropDatabase (SqlId $ SqlObj SQL_DATABASE dbName) $
"DROP DATABASE IF EXISTS" <-> toSqlCode dbName
sqlDelete False = Nothing