PHP Class Doctrine\DBAL\Migrations\Configuration\Configuration

Since: 2.0
Author: Jonathan H. Wage ([email protected])
Show file Open project: doctrine/migrations Class Usage Examples

Public Methods

Method Description
__construct ( Doctrine\DBAL\Connection $connection, Doctrine\DBAL\Migrations\OutputWriter $outputWriter = null, Doctrine\DBAL\Migrations\Finder\MigrationFinderInterface $finder = null ) Construct a migration configuration object.
areMigrationsOrganizedByYear ( ) : boolean
areMigrationsOrganizedByYearAndMonth ( ) : boolean
createMigrationTable ( ) : boolean Create the migration table to track migrations with.
formatVersion ( string $version ) : string Returns a timestamp version as a formatted date
generateVersionNumber ( DateTimeInterface $now = null ) : string Generate a new migration version. A version is (usually) a datetime string.
getAvailableVersions ( ) : array Returns an array of available migration version numbers.
getConnection ( ) : Doctrine\DBAL\Connection Returns the Connection instance
getCurrentVersion ( ) : string Returns the current migrated version from the versions table.
getDateTime ( $version ) : string Returns the datetime of a migration
getLatestVersion ( ) : string Returns the latest available migration version.
getMigratedVersions ( ) : Version[] Returns all migrated versions from the versions table, in an array.
getMigrations ( ) : Version[] Get the array of registered migration versions.
getMigrationsColumnName ( ) : string Returns the migration column name
getMigrationsDirectory ( ) : string Returns the new migrations directory where new migration classes are generated
getMigrationsNamespace ( ) : string Returns the migrations namespace
getMigrationsTableName ( ) : string Returns the migration table name
getMigrationsToExecute ( string $direction, string $to ) : Version[] Returns the array of migrations to executed based on the given direction and target version number.
getName ( ) : string Returns the name of this set of migrations
getNextVersion ( ) : string | null Returns the version following the current version.
getNumberOfAvailableMigrations ( ) : integer Returns the total number of available migration versions
getNumberOfExecutedMigrations ( ) : integer Returns the total number of executed migration versions
getOutputWriter ( ) : Doctrine\DBAL\Migrations\OutputWriter Returns the OutputWriter instance
getPrevVersion ( ) : string | null Returns the version prior to the current version.
getRelativeVersion ( $version, $delta ) : string | null Returns the version with the specified offset to the specified version.
getVersion ( string $version ) : Version Returns the Version instance for a given version in the format YYYYMMDDHHMMSS.
hasVersion ( string $version ) : boolean Check if a version exists.
hasVersionMigrated ( Version $version ) : boolean Check if a version has been migrated or not yet
registerMigration ( string $version, string $class ) : Version Register a single migration version to be executed by a AbstractMigration class.
registerMigrations ( array $migrations ) : Version[] Register an array of migrations. Each key of the array is the version and the value is the migration class name.
registerMigrationsFromDirectory ( string $path ) : Version[] Register migrations from a given directory. Recursively finds all files with the pattern VersionYYYYMMDDHHMMSS.php as the filename and registers them as migrations.
resolveVersionAlias ( $alias ) : string | null Returns the version number from an alias.
setMigrationsAreOrganizedByYear ( boolean $migrationsAreOrganizedByYear = true )
setMigrationsAreOrganizedByYearAndMonth ( boolean $migrationsAreOrganizedByYearAndMonth = true )
setMigrationsColumnName ( string $columnName ) Set the migration column name
setMigrationsDirectory ( string $migrationsDirectory ) Set the new migrations directory where new migration classes are generated
setMigrationsFinder ( Doctrine\DBAL\Migrations\Finder\MigrationFinderInterface $finder ) Set the implementation of the migration finder.
setMigrationsNamespace ( string $migrationsNamespace ) Set the migrations namespace
setMigrationsTableName ( string $tableName ) Set the migration table name
setName ( string $name ) Set the name of this set of migrations
setOutputWriter ( Doctrine\DBAL\Migrations\OutputWriter $outputWriter ) Sets the output writer.
validate ( ) Validation that this instance has all the required properties configured

Protected Methods

Method Description
connect ( ) : boolean Explicitely opens the database connection. This is done to play nice with DBAL's MasterSlaveConnection. Which, in some cases, connects to a follower when fetching the executed migrations. If a follower is lagging significantly behind that means the migrations system may see unexecuted migrations that were actually executed earlier.
findMigrations ( string $path ) : array Find all the migrations in a given directory.

Private Methods

Method Description
ensureMigrationClassExists ( string $class )
ensureOrganizeMigrationsIsCompatibleWithFinder ( )
shouldExecuteMigration ( string $direction, Version $version, string $to, array $migrated ) : boolean Check if we should execute a migration for a given direction and target migration version.

Method Details

__construct() public method

Construct a migration configuration object.
public __construct ( Doctrine\DBAL\Connection $connection, Doctrine\DBAL\Migrations\OutputWriter $outputWriter = null, Doctrine\DBAL\Migrations\Finder\MigrationFinderInterface $finder = null )
$connection Doctrine\DBAL\Connection A Connection instance
$outputWriter Doctrine\DBAL\Migrations\OutputWriter A OutputWriter instance
$finder Doctrine\DBAL\Migrations\Finder\MigrationFinderInterface Migration files finder

areMigrationsOrganizedByYear() public method

areMigrationsOrganizedByYearAndMonth() public method

connect() protected method

Explicitely opens the database connection. This is done to play nice with DBAL's MasterSlaveConnection. Which, in some cases, connects to a follower when fetching the executed migrations. If a follower is lagging significantly behind that means the migrations system may see unexecuted migrations that were actually executed earlier.
protected connect ( ) : boolean
return boolean The same value returned from the `connect` method

createMigrationTable() public method

Create the migration table to track migrations with.
public createMigrationTable ( ) : boolean
return boolean Whether or not the table was created.

findMigrations() protected method

Find all the migrations in a given directory.
protected findMigrations ( string $path ) : array
$path string the directory to search.
return array

formatVersion() public method

Returns a timestamp version as a formatted date
Deprecation:
public formatVersion ( string $version ) : string
$version string
return string The formatted version

generateVersionNumber() public method

Generate a new migration version. A version is (usually) a datetime string.
public generateVersionNumber ( DateTimeInterface $now = null ) : string
$now DateTimeInterface Defaults to the current time in UTC
return string The newly generated version

getAvailableVersions() public method

Returns an array of available migration version numbers.
public getAvailableVersions ( ) : array
return array

getConnection() public method

Returns the Connection instance
public getConnection ( ) : Doctrine\DBAL\Connection
return Doctrine\DBAL\Connection $connection The Connection instance

getCurrentVersion() public method

Returns the current migrated version from the versions table.
public getCurrentVersion ( ) : string
return string

getDateTime() public method

Returns the datetime of a migration
public getDateTime ( $version ) : string
$version
return string

getLatestVersion() public method

Returns the latest available migration version.
public getLatestVersion ( ) : string
return string The version string in the format YYYYMMDDHHMMSS.

getMigratedVersions() public method

Returns all migrated versions from the versions table, in an array.
public getMigratedVersions ( ) : Version[]
return Doctrine\DBAL\Migrations\Version[]

getMigrations() public method

Get the array of registered migration versions.
public getMigrations ( ) : Version[]
return Doctrine\DBAL\Migrations\Version[] $migrations

getMigrationsColumnName() public method

Returns the migration column name
public getMigrationsColumnName ( ) : string
return string $migrationsColumnName The migration column name

getMigrationsDirectory() public method

Returns the new migrations directory where new migration classes are generated
public getMigrationsDirectory ( ) : string
return string $migrationsDirectory The new migrations directory

getMigrationsNamespace() public method

Returns the migrations namespace
public getMigrationsNamespace ( ) : string
return string $migrationsNamespace The migrations namespace

getMigrationsTableName() public method

Returns the migration table name
public getMigrationsTableName ( ) : string
return string $migrationsTableName The migration table name

getMigrationsToExecute() public method

Returns the array of migrations to executed based on the given direction and target version number.
public getMigrationsToExecute ( string $direction, string $to ) : Version[]
$direction string The direction we are migrating.
$to string The version to migrate to.
return Doctrine\DBAL\Migrations\Version[] $migrations The array of migrations we can execute.

getName() public method

Returns the name of this set of migrations
public getName ( ) : string
return string $name The name of this set of migrations

getNextVersion() public method

Returns the version following the current version.
public getNextVersion ( ) : string | null
return string | null A version string, or null if the current version is the latest.

getNumberOfAvailableMigrations() public method

Returns the total number of available migration versions

getNumberOfExecutedMigrations() public method

Returns the total number of executed migration versions

getOutputWriter() public method

Returns the OutputWriter instance
public getOutputWriter ( ) : Doctrine\DBAL\Migrations\OutputWriter
return Doctrine\DBAL\Migrations\OutputWriter $outputWriter The OutputWriter instance

getPrevVersion() public method

Returns the version prior to the current version.
public getPrevVersion ( ) : string | null
return string | null A version string, or null if the current version is the first.

getRelativeVersion() public method

Returns the version with the specified offset to the specified version.
public getRelativeVersion ( $version, $delta ) : string | null
return string | null A version string, or null if the specified version is unknown or the specified delta is not within the list of available versions.

getVersion() public method

Returns the Version instance for a given version in the format YYYYMMDDHHMMSS.
public getVersion ( string $version ) : Version
$version string The version string in the format YYYYMMDDHHMMSS.
return Doctrine\DBAL\Migrations\Version

hasVersion() public method

Check if a version exists.
public hasVersion ( string $version ) : boolean
$version string
return boolean

hasVersionMigrated() public method

Check if a version has been migrated or not yet
public hasVersionMigrated ( Version $version ) : boolean
$version Doctrine\DBAL\Migrations\Version
return boolean

registerMigration() public method

Register a single migration version to be executed by a AbstractMigration class.
public registerMigration ( string $version, string $class ) : Version
$version string The version of the migration in the format YYYYMMDDHHMMSS.
$class string The migration class to execute for the version.
return Doctrine\DBAL\Migrations\Version

registerMigrations() public method

Register an array of migrations. Each key of the array is the version and the value is the migration class name.
public registerMigrations ( array $migrations ) : Version[]
$migrations array
return Doctrine\DBAL\Migrations\Version[]

registerMigrationsFromDirectory() public method

Register migrations from a given directory. Recursively finds all files with the pattern VersionYYYYMMDDHHMMSS.php as the filename and registers them as migrations.
public registerMigrationsFromDirectory ( string $path ) : Version[]
$path string The root directory to where some migration classes live.
return Doctrine\DBAL\Migrations\Version[] The array of migrations registered.

resolveVersionAlias() public method

Supported aliases are: - first: The very first version before any migrations have been run. - current: The current version. - prev: The version prior to the current version. - next: The version following the current version. - latest: The latest available version. If an existing version number is specified, it is returned verbatimly.
public resolveVersionAlias ( $alias ) : string | null
return string | null A version number, or null if the specified alias does not map to an existing version, e.g. if "next" is passed but the current version is already the latest.

setMigrationsAreOrganizedByYear() public method

public setMigrationsAreOrganizedByYear ( boolean $migrationsAreOrganizedByYear = true )
$migrationsAreOrganizedByYear boolean

setMigrationsAreOrganizedByYearAndMonth() public method

public setMigrationsAreOrganizedByYearAndMonth ( boolean $migrationsAreOrganizedByYearAndMonth = true )
$migrationsAreOrganizedByYearAndMonth boolean

setMigrationsColumnName() public method

Set the migration column name
public setMigrationsColumnName ( string $columnName )
$columnName string The migration column name

setMigrationsDirectory() public method

Set the new migrations directory where new migration classes are generated
public setMigrationsDirectory ( string $migrationsDirectory )
$migrationsDirectory string The new migrations directory

setMigrationsFinder() public method

Set the implementation of the migration finder.
public setMigrationsFinder ( Doctrine\DBAL\Migrations\Finder\MigrationFinderInterface $finder )
$finder Doctrine\DBAL\Migrations\Finder\MigrationFinderInterface The new migration finder

setMigrationsNamespace() public method

Set the migrations namespace
public setMigrationsNamespace ( string $migrationsNamespace )
$migrationsNamespace string The migrations namespace

setMigrationsTableName() public method

Set the migration table name
public setMigrationsTableName ( string $tableName )
$tableName string The migration table name

setName() public method

Set the name of this set of migrations
public setName ( string $name )
$name string The name of this set of migrations

setOutputWriter() public method

Sets the output writer.
public setOutputWriter ( Doctrine\DBAL\Migrations\OutputWriter $outputWriter )
$outputWriter Doctrine\DBAL\Migrations\OutputWriter

validate() public method

Validation that this instance has all the required properties configured
public validate ( )