-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Database versioning and migration -- -- A database versioning and migration library. -- -- Note: This library is under heavy development, currently the -- PostgreSQL implementation is functional, but expected to change. It is -- intended that a type safe migration api, command line tools and MySql -- support be added before this library will be considered stable. @package database-migrate @version 0.0.3 module Database.Migrate.Core data MigrationId MigrationId :: Text -> MigrationId extract :: MigrationId -> Text type Ddl = Text data Migration Migration :: MigrationId -> Text -> Text -> Maybe FilePath -> Maybe FilePath -> Migration migration :: Migration -> MigrationId up :: Migration -> Text down :: Migration -> Text upsource :: Migration -> Maybe FilePath downsource :: Migration -> Maybe FilePath data Context Context :: [MigrationId] -> MigrationId -> Text -> Bool -> Context succeeded :: Context -> [MigrationId] failed :: Context -> MigrationId msg :: Context -> Text rolledback :: Context -> Bool type MigrationResultT = EitherT Context class Monad m => MigrateDatabase m c initialize :: MigrateDatabase m c => c -> m () runMigrations :: MigrateDatabase m c => c -> (Migration -> Ddl) -> [Migration] -> MigrationResultT m [MigrationId] getMigrations :: MigrateDatabase m c => c -> m [MigrationId] pick :: [Migration] -> [MigrationId] -> [Migration] latest :: MigrateDatabase m c => c -> [Migration] -> MigrationResultT m [MigrationId] find :: FilePath -> EitherT String IO [Migration] migrationids :: FilePath -> [FilePath] -> IO [String] readFile' :: FilePath -> IO String hGetContents' :: Handle -> IO String instance Eq MigrationId instance Show MigrationId instance Eq Migration instance Show Migration instance Eq Context instance Show Context instance Ord Migration instance Ord MigrationId module Database.Migrate.PostgreSQL migratePostgres :: Connection -> FilePath -> (String -> IO ()) -> IO () -> IO () record :: Connection -> MigrationId -> IO () runall :: Connection -> (Migration -> Ddl) -> [Migration] -> MigrationResultT IO [MigrationId] saferun :: Connection -> (Migration -> Ddl) -> Migration -> EitherT Text IO MigrationId run :: Connection -> (Migration -> Ddl) -> Migration -> IO MigrationId instance MigrateDatabase IO Connection instance ToField MigrationId instance FromField MigrationId module Database.Migrate.Main defaultMain :: IO () instance Eq Arguments instance Show Arguments -- | A library to assist with managing database versioning and migration. -- -- Note: This library is under heavy development, currently the -- PostgreSQL implementation is functional, but expected to change. It is -- intended that a type safe migration api, command line tools and MySql -- support be added before this library will be considered stable. module Database.Migrate