@@ -70,6 +70,7 @@ module Squeal.PostgreSQL.Definition
70 -- * Types
70 -- * Types
71 , createType
71 , createType
72 , createTypeEnum
72 , createTypeEnum
73 , ColumnTypeExpression (..)
74 , ColumnTypeExpression (..)
@@ -799,7 +800,13 @@ createType
799 -> Definition schema (Create comp ('Typedef ('PGcomposite fields)) schema)
800 -> Definition schema (Create comp ('Typedef ('PGcomposite fields)) schema)
800createType comp fields = UnsafeDefinition $
801createType comp fields = UnsafeDefinition $
801 "CREATE" <+> "TYPE" <+> renderAlias comp <+> "AS" <+> parenthesized
802 "CREATE" <+> "TYPE" <+> renderAlias comp <+> "AS" <+> parenthesized
802− (renderCommaSeparated (renderAliasedAs renderTypeExpression) fields)
803+ (renderCommaSeparated (renderAliasedAs renderTypeExpression) fields) <> ";"
806+ :: Has tydef schema ('Typedef ty)
808+ -> Definition schema (Drop tydef schema)
809+dropType tydef = UnsafeDefinition $ "DROP" <+> "TYPE" <+> renderAlias tydef <> ";"
804-- | `ColumnTypeExpression`s are used in `createTable` commands.
811-- | `ColumnTypeExpression`s are used in `createTable` commands.
805newtype ColumnTypeExpression (schema :: SchemaType) (ty :: ColumnType)
812newtype ColumnTypeExpression (schema :: SchemaType) (ty :: ColumnType)