Safe Haskell  None 

Language  Haskell2010 
Synopsis
 class Diffable a where
 type Diff = DiffA []
 newtype Priority = Priority Word8
 newtype WithPriority a = WithPriority {
 unPriority :: (a, Priority)
 diffColumnReferenceImplementation :: TableName > ColumnName > Column > Column > Diff
 diffTablesReferenceImplementation :: Tables > Tables > Diff
 diffTableReferenceImplementation :: TableName > Table > Table > Diff
 diffReferenceImplementation :: Schema > Schema > Diff
 diffColumn :: TableName > ColumnName > Column > Column > DiffA DList
 diffTables :: Tables > Tables > DiffA DList
 diffTable :: TableName > Table > Table > DiffA DList
 sortEdits :: [WithPriority Edit] > [WithPriority Edit]
Documentation
class Diffable a where Source #
Instances
Diffable Tables Source #  
Diffable Sequences Source #  
Diffable Enumerations Source #  
Defined in Database.Beam.AutoMigrate.Diff diff :: Enumerations > Enumerations > Diff Source #  
Diffable Schema Source #  Computes the diff between two 
Some notion of Priority
. The lower the value, the higher the priority.
newtype WithPriority a Source #
WithPriority  

Instances
Eq a => Eq (WithPriority a) Source #  
Defined in Database.Beam.AutoMigrate.Diff (==) :: WithPriority a > WithPriority a > Bool # (/=) :: WithPriority a > WithPriority a > Bool #  
Ord a => Ord (WithPriority a) Source #  
Defined in Database.Beam.AutoMigrate.Diff compare :: WithPriority a > WithPriority a > Ordering # (<) :: WithPriority a > WithPriority a > Bool # (<=) :: WithPriority a > WithPriority a > Bool # (>) :: WithPriority a > WithPriority a > Bool # (>=) :: WithPriority a > WithPriority a > Bool # max :: WithPriority a > WithPriority a > WithPriority a # min :: WithPriority a > WithPriority a > WithPriority a #  
Show a => Show (WithPriority a) Source #  
Defined in Database.Beam.AutoMigrate.Diff showsPrec :: Int > WithPriority a > ShowS # show :: WithPriority a > String # showList :: [WithPriority a] > ShowS # 
Reference implementation, for modeltesting purposes
diffColumnReferenceImplementation :: TableName > ColumnName > Column > Column > Diff Source #
diffTablesReferenceImplementation :: Tables > Tables > Diff Source #
A slow but hopefully correct implementation of the diffing algorithm, for QuickCheck comparison with more sophisticated ones.
Hopefullyefficient implementation
diffColumn :: TableName > ColumnName > Column > Column > DiffA DList Source #
sortEdits :: [WithPriority Edit] > [WithPriority Edit] Source #
Sort edits according to their execution order, to make sure they don't reference something which hasn't been created yet.