@@ -249,12 +249,14 @@ type TableConstraints = [(Symbol,TableConstraint)]
249249type family NilTableConstraints :: TableConstraints where
250250 NilTableConstraints = '[]
251251
252+-- | A `ForeignKey` must reference columns that either are
253+-- a `PrimaryKey` or form a `Unique` constraint.
252254type family Uniquely
253− (keys :: [Symbol])
255+ (key :: [Symbol])
254256 (constraints :: TableConstraints) :: Constraint where
255− Uniquely keys (uq ::: 'Unique keys ': constraints) = ()
256− Uniquely keys (uq ::: 'PrimaryKey keys ': constraints) = ()
257− Uniquely keys (_ ': constraints) = Uniquely keys constraints
257+ Uniquely key (uq ::: 'Unique key ': constraints) = ()
258+ Uniquely key (pk ::: 'PrimaryKey key ': constraints) = ()
259+ Uniquely key (_ ': constraints) = Uniquely key constraints
258260
259261-- | `TableType` encodes a row of constraints on a table as well as the types
260262-- of its columns.