0 | module Oracle.Types.Migration
3 | import Oracle.Internal.Pointer
4 | import Oracle.Types.Error
23 | record Migration where
24 | constructor MkMigration
25 | migrationversion : Int
26 | migrationname : String
27 | migrationup : Connection -> IO (Either OracleError ())
28 | migrationdown : Connection -> IO (Either OracleError ())
35 | record MigrationInfo where
36 | constructor MkMigrationInfo
37 | migrationinfoversion : Int
38 | migrationinfoname : String
39 | migrationinfoappliedAt : String
44 | data MigrationStatus
45 | = MigrationPending Migration
46 | | MigrationApplied Migration MigrationInfo
47 | | MigrationMissing MigrationInfo
52 | sameMigrationVersion : Migration -> MigrationInfo -> Bool
53 | sameMigrationVersion migration migrationinfo =
54 | migrationversion migration == migrationinfoversion migrationinfo
59 | isMigrationApplied : Migration -> List MigrationInfo -> Bool
60 | isMigrationApplied migration migrationinfos =
61 | any (sameMigrationVersion migration) migrationinfos