2017 © Pedro Peláez
 

library migration-bundle

a Symfony Bundle for migrations

image

rvalin/migration-bundle

a Symfony Bundle for migrations

  • Friday, April 13, 2018
  • by rValin
  • Repository
  • 1 Watchers
  • 0 Stars
  • 1,116 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 24 % Grown

The README.md

RValinMigrationBundle

RValinMigrationBundle adds support of migration in symfony (2 -> 4).
It provide a flexible and easy to use solution to run custom sql query, command or scripts on a project., (*1)

Installation

1) Use Composer to download the library, (*2)

composer require rvalin/migration-bundle

2) Then add the RValinMigrationBundle to your application kernel:, (*3)

// app/AppKernel.php
public function registerBundles()
{
    return array(
        // ...
        new RValin\MigrationBundle\RValinMigrationBundle(),
        // ...
    );
}

3) Then update your database, (*4)

php bin/console do:sc:up -f

Usage

Generate a migration class

To create a migration class use the following command :, (*5)

php bin/console migration:script:generate --bundle=FooBundle

You can use the option "name" to set a custom name for the migration.
Migration created with this command will be an instance of RValin\MigrationBundle\Tools\MigrationInterface., (*6)

Create your migration

By default migration extend from RValin\MigrationBundle\Tools\DefaultMigration.
This class provide easy solution to run sql query and command., (*7)

Your code must be in the function "execute" from the Migration class.
This function should return true of false whether the migrations worked., (*8)

SQL query

You can execute sql query using the function executeSql., (*9)

function execute() {
    $query = 'UPDATE user SET enabled = false WHERE id = ?';
    $args = [1];

    return $this->executeSql($query, $args);
}

Command

You can run a command using executeCommand.
See Symfony document for more details., (*10)

function execute() {
    $commandArgs = array(
        'command' => 'swiftmailer:spool:send',
        // (optional) define the value of command arguments
        'fooArgument' => 'barValue',
        // (optional) pass options to the command
        '--message-limit' => $messages,
    );

    $this->executeCommand($commandArgs);
}

Run migrations

To run your migrations use :, (*11)

php bin/console migration:script:run --execute

If you do not use the option "execute", command and sql query won't be executed., (*12)

Once a migration has been successfully run it won't be executed again. Remove the entry from the table rvalin_migration to run a migration again or reverse it., (*13)

You can filter the migration you run using this options:
name to run a specific migration
bundle to run the migration of a specific version
maxVersion Max version of the migration to run
maxDate Max creation date of the migration to run, (*14)

Reverse migrations

To reverse migrations use, (*15)

php bin/console migration:script:reverse --execute

If you do not use the option "execute", command and sql query won't be executed., (*16)

Only migration that has been run will be reverse., (*17)

You can filter the migration you run using this options:
name to run a specific migration
bundle to run the migration of a specific version
minVersion Min version of the migration to run
minDate Min creation date of the migration to run, (*18)

The Versions

13/04 2018

dev-master

9999999-dev https://github.com/rValin/MigrationBundle

a Symfony Bundle for migrations

  Sources   Download

MIT

The Requires

 

migration symfony

17/03 2018

v1.0.1

1.0.1.0 https://github.com/rValin/MigrationBundle

a Symfony Bundle for migrations

  Sources   Download

MIT

The Requires

 

migration symfony

14/03 2018

v1.0

1.0.0.0 https://github.com/rValin/MigrationBundle

a Symfony Bundle for migrations

  Sources   Download

MIT

The Requires

 

migration symfony