Simple Migrations for Zend Framework 2.
The following DB adapter drivers are supported by this module.
- Pdo_Sqlite
- Pdo_Mysql
- Mysqli only if you configure the driver options with
'buffer_results' => true
php composer.phar require t4web/migrationsor add to your composer.json
"require": {
"t4web/migrations": "^2.0.0"
}Then add T4web\Migrations to the modules array in application.config.php
'migrations' => array(
'dir' => dirname(__FILE__) . '/../../../migrations',
'namespace' => 'T4web\Migrations',
'adapter' => 'Zend\Db\Adapter\Adapter',
'show_log' => true
),The top-level key used to configure this module is migrations.
Each key under migrations is a migrations configuration.
The path to the directory where migration files are stored. Defaults to ./migrations in the project root dir.
The class namespace that migration classes will be generated with. Defaults to T4web\Migrations.
Flag to log output of the migration. Defaults to true.
The service alias that will be used to fetch a Zend\Db\Adapter\Adapter from the service manager.
migration version- show last applied migration (namespecifies a configured migration)migration list [--all]- list available migrations (allincludes applied migrations)migration apply [<version>] [--force] [--down]- apply or rollback migrationmigration generate- generate migration class
Migration classes are stored in /path/to/project/migrations/ dir by default.
Generic migration class has name Version_<YmdHis> and implement T4web\Migrations\Migration\MigrationInterface.
<?php
namespace T4web\Migrations;
use `T4web\Migrations\Migration\AbstractMigration;
class Version_20130403165433 extends AbstractMigration
{
public static $description = "Migration description";
public function up()
{
/** @var Zend\Db\ResultSet\ResultSet $result */
//$result = $this->executeQuery(/*Sql instruction*/);
}
public function down()
{
//throw new \RuntimeException('No way to go down!');
//$this->executeQuery(/*Sql instruction*/);
}
}<?php
namespace T4web\Migrations;
use T4web\Migrations\Migration\AbstractMigration;
class Version_20130403165433 extends AbstractMigration
{
public static $description = "Migration description";
public function up()
{
//$this->getServiceLocator()->get(/*Get service by alias*/);
}
public function down()
{
//$this->getServiceLocator()->get(/*Get service by alias*/);
}
}