-- 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