-- 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.2
module Paths_database_migrate
version :: Version
getBinDir, getLibexecDir, getDataDir, getLibDir :: IO FilePath
getDataFileName :: FilePath -> IO FilePath
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