-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Database versioning and migration (experimental) -- -- 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.1.2 module Database.Migrate.Data data MigrationId MigrationId :: Text -> MigrationId extract :: MigrationId -> Text data MigrationLog DatabaseInitialized :: MigrationLog MigrationApplied :: Migration -> MigrationLog MigrationFailed :: Migration -> String -> MigrationLog MigrationRolledback :: Migration -> String -> MigrationLog data Migration Migration :: MigrationId -> Text -> Text -> Migration migrationId :: Migration -> MigrationId up :: Migration -> Text down :: Migration -> Text data MigrationRecords NotInitialized :: MigrationRecords Initialized :: [MigrationId] -> MigrationRecords data Migrations Migrations :: [Migration] -> Migrations getMigrations :: Migrations -> [Migration] data Migrate c m a Migrate :: ReaderT (Migrations, c) (MaybeT (WriterT [MigrationLog] m)) a -> Migrate c m a runMigrate :: Migrate c m a -> ReaderT (Migrations, c) (MaybeT (WriterT [MigrationLog] m)) a data MigrateDatabase m c MigrateDatabase :: Migrate c m MigrationRecords -> Migrate c m () -> (Text -> Migrate c m ()) -> (Migration -> Migrate c m ()) -> (Migration -> Migrate c m ()) -> MigrateDatabase m c current :: MigrateDatabase m c -> Migrate c m MigrationRecords initialize :: MigrateDatabase m c -> Migrate c m () runSql :: MigrateDatabase m c -> Text -> Migrate c m () recordInstall :: MigrateDatabase m c -> Migration -> Migrate c m () recordRollback :: MigrateDatabase m c -> Migration -> Migrate c m () instance Eq MigrationId instance Show MigrationId instance Eq Migration instance Show Migration instance Eq MigrationLog instance Show MigrationLog instance MonadIO m => MonadIO (Migrate c m) instance MonadTrans (Migrate c) instance Monad m => Monad (Migrate c m) instance Monad f => Functor (Migrate c f) instance Ord Migration instance Ord MigrationId module Database.Migrate.Kernel mlog :: Monad m => MigrationLog -> Migrate c m () connection :: (Functor m, Monad m) => Migrate c m c store :: (Functor m, Monad m) => Migrate c m Migrations dryrun :: Monad m => MigrateDatabase m c -> MigrateDatabase m c migrate :: (Functor m, Monad m) => MigrateDatabase m c -> Migrate c m () missing :: Migrations -> [MigrationId] -> [Migration] executeMigrate :: Monad m => Migrations -> c -> Migrate c m a -> m (Maybe a, [MigrationLog]) module Database.Migrate.Loader find :: FilePath -> EitherT String IO Migrations migrationids :: FilePath -> [FilePath] -> IO [String] readFile' :: FilePath -> IO String hGetContents' :: Handle -> IO String module Database.Migrate.PostgreSQL data PsqlConnectInfo PsqlConnectInfo :: PsqlConnectInfo psqlMigrateDatabase :: MigrateDatabase IO Connection instance ToField MigrationId instance FromField MigrationId module Database.Migrate.Main defaultMain :: Migrations -> MigrateDatabase IO c -> IO c -> IO () defaultMain' :: Migrations -> MigrateDatabase IO c -> IO c -> [String] -> IO () instance Eq DbMode instance Show DbMode 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