eugenzor / zend-db-migrations

用于管理数据库迁移的模块。

dev-master 2015-11-24 09:33 UTC

This package is not auto-updated.

Last update: 2024-09-18 18:42:17 UTC


README

安装

将以下内容添加到项目的 composer.json 文件的 require 部分中:"eugenzor/zend-db-migrations": "dev-master"

然后执行

php composer.phar self-update
php composer.phar update

使用

添加的命令列表

db_migrations_version - возвращает номер текущей версии
db_migrations_migrate [<version>] - выполнить или откатить миграцию, номер версии необязательный параметр
db_migrations_generate - Сгенерировать каркас класса миграции

默认情况下,所有迁移将存储在 /project/migrations/* 目录中,因此需要创建一个 migrations 目录或使用具有写入根目录权限的命令来生成迁移框架。

通常,迁移类应具有类似于 Versionyyyyymmddhhmmss.php 的名称,并实现 ZendDbMigrations\Library\MigrationInterface 接口。

迁移类示例

<?php

namespace ZendDbMigrations\Migrations;

use ZendDbMigrations\Library\AbstractMigration;
use Zend\Db\Metadata\MetadataInterface;

class Version20121112230913 extends AbstractMigration {
    
    public function up(MetadataInterface $schema){
        //$this->addSql(/*Sql instruction*/);
    }
    
    public function down(MetadataInterface $schema){
        //$this->addSql(/*Sql instruction*/);
    }
}

可以通过两种方式执行迁移:运行不带参数的 db_migrations_migrate 命令,或指定版本运行 db_migrations_migrate 20121112230913 Version20121112230913 - 其中 20121112230913 将是迁移的版本。