on dev help sign in
add and drop constraints

and lose type level sets

commit341d0100123e296640f2c3135dffe9ae4fbfeee8 authorEitan Chatav <eitan.chatav@gmail.com> dateSun 24 Dec 2017, 12:39 (9 years ago) parentde48a39
4 files changed+19−22
squeal-postgresql/squeal-postgresql.cabal−1 squeal-postgresql/src/Squeal/PostgreSQL/Definition.hs+19−11 squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs−8 stack.yaml−2
squeal-postgresql/squeal-postgresql.cabal−1
@@ -49,7 +49,6 @@ library
4949 , time >= 1.8.0.2 && < 2
5050 , transformers >= 0.5.2.0 && < 1
5151 , transformers-base >= 0.4.4 && < 1
52− , type-level-sets >= 0.8.5.0 && < 1
5352 , uuid >= 1.3.13 && < 2
5453
5554test-suite squeal-postgresql-spec
squeal-postgresql/src/Squeal/PostgreSQL/Definition.hs+19−11
@@ -45,6 +45,7 @@ module Squeal.PostgreSQL.Definition
4545 , alterTable
4646 , alterTableRename
4747 , addConstraint
48+ , dropConstraint
4849 , AlterTable (UnsafeAlterTable, renderAlterTable)
4950 , addColumnDefault
5051 , addColumnNull
@@ -373,17 +374,24 @@ alterTableRename table0 table1 = UnsafeDefinition $
373374-- <+> "ADD" <+> renderTableConstraintExpression constraint <> ";"
374375
375376addConstraint
376− :: Aliased (TableConstraintExpression schema (UnconstrainColumns columns)) constraint
377− -> AlterTable schema (constraints :=> columns)
378− ((constraint ': constraints) :=> columns)
379−addConstraint constraint = UnsafeAlterTable $
380− "ADD" <+> "CONSTRAINT" <+> renderConstraint constraint
381− where
382− renderConstraint
383− :: Aliased (TableConstraintExpression schema columns) constraint
384− -> ByteString
385− renderConstraint (constraint' `As` alias) =
386− "CONSTRAINT" <+> renderAlias alias <+> renderTableConstraintExpression constraint'
377+ :: KnownSymbol constraintName
378+ => Alias constraintName
379+ -> TableConstraintExpression schema (UnconstrainColumns columns) constraint
380+ -> AlterTable schema
381+ (constraints :=> columns)
382+ (Create constraintName constraint constraints :=> columns)
383+addConstraint constraintName constraint = UnsafeAlterTable $
384+ "ADD" <+> "CONSTRAINT" <+> renderAlias constraintName
385+ <+> renderTableConstraintExpression constraint
386+
387+dropConstraint
388+ :: KnownSymbol constraintName
389+ => Alias constraintName
390+ -> AlterTable schema
391+ (constraints :=> columns)
392+ (Drop constraintName constraints :=> columns)
393+dropConstraint constraint = UnsafeAlterTable $
394+ "DROP" <+> "CONSTRAINT" <+> renderAlias constraint
387395
388396-- | An `AlterTable` describes the alteration to perform on the columns
389397-- of a table.
squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs−8
@@ -81,12 +81,7 @@ module Squeal.PostgreSQL.Schema
8181 , UnconstrainTable
8282 , UnconstrainSchema
8383 , ColumnConstraint (..)
84− -- , DropDefault
85− -- , DropDefaultList
86− -- , AddConstraint
87− -- , DropConstraint
8884 , TableConstraint (..)
89− -- , AsSet
9085 , Aliases
9186 , Has
9287 ) where
@@ -95,9 +90,6 @@ import Control.DeepSeq
9590import Data.ByteString
9691import Data.Monoid
9792import Data.String
98−-- import Data.Type.Bool
99−-- import Data.Type.Equality
100−-- import Data.Type.Set
10193import Generics.SOP (AllZip)
10294import GHC.Generics (Generic)
10395import GHC.Exts
stack.yaml−2
@@ -1,5 +1,3 @@
11resolver: nightly-2017-08-25
22packages:
33- squeal-postgresql
4−extra-deps:
5−- type-level-sets-0.8.5.0