Maintainer | Brandon Chinn <brandonchinn178@gmail.com> |
---|---|
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Defines a migration framework for the persistent library.
Synopsis
- type Version = Int
- type OperationPath = (Version, Version)
- (~>) :: Version -> Version -> OperationPath
- type Migration = [MigrationPath]
- data MigrationPath = OperationPath := [Operation]
- opPath :: MigrationPath -> OperationPath
- newtype MigrateSettings = MigrateSettings {
- versionToLabel :: Version -> Maybe String
- defaultSettings :: MigrateSettings
- validateMigration :: Migration -> Either String ()
- runMigration :: MonadIO m => MigrateBackend -> MigrateSettings -> Migration -> SqlPersistT m ()
- getMigration :: MonadIO m => MigrateBackend -> MigrateSettings -> Migration -> SqlPersistT m [MigrateSql]
Documentation
The version of a database. An operation migrates from the given version to another version.
The version must be increasing, such that the lowest version is the first version and the highest version is the most up-to-date version.
A version represents a version of the database schema. In other words, any set of operations taken to get to version X *MUST* all result in the same database schema.
type OperationPath = (Version, Version) Source #
The path that an operation takes.
(~>) :: Version -> Version -> OperationPath Source #
An infix constructor for OperationPath
.
type Migration = [MigrationPath] Source #
A migration list that defines operations to manually migrate a database schema.
data MigrationPath Source #
A path representing the operations needed to run to get from one version of the database schema to the next.
Instances
Show MigrationPath Source # | |
Defined in Database.Persist.Migration.Core showsPrec :: Int -> MigrationPath -> ShowS # show :: MigrationPath -> String # showList :: [MigrationPath] -> ShowS # |
opPath :: MigrationPath -> OperationPath Source #
Get the OperationPath in the MigrationPath.
newtype MigrateSettings Source #
Settings to customize migration steps.
MigrateSettings | |
|
defaultSettings :: MigrateSettings Source #
Default migration settings.
runMigration :: MonadIO m => MigrateBackend -> MigrateSettings -> Migration -> SqlPersistT m () Source #
Run the given migration. After successful completion, saves the migration to the database.
getMigration :: MonadIO m => MigrateBackend -> MigrateSettings -> Migration -> SqlPersistT m [MigrateSql] Source #
Get the SQL queries for the given migration.