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/migrations
or 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 (name
specifies a configured migration)migration list [--all]
- list available migrations (all
includes 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*/);
}
}