execut/yii2-migration Yii2 helper to simplify of writing migration

yii2-migration

  1. Installation
  2. Usage
  3. Supported databases

This is a typical migration for yii2: `php

public function safeUp()
{
    $this->createTable('characteristics_units', [
        'id' => $this->primaryKey(),
        'name' => $this->string()->notNull(),
        'short_name' => $this->string()->notNull(),
        'created' => $this->dateTime()->notNull()->defaultExpression('now()'),
        'updated' => $this->dateTime(),
    ]);

    $this->createTable('characteristics', [
        'id' => $this->primaryKey(),
        'characteristics_unit_id' => $this->integer()->notNull(),
        'name' => $this->string()->notNull(),
        'created' => $this->dateTime()->notNull()->defaultExpression('now()'),
        'updated' => $this->dateTime(),
    ]);

    $this->addForeignKey('characteristics_unit_id_characteristics_fk', 'characteristics', 'characteristics_unit_id', 'characteristics_units', 'id');
}

public function safeDown()
{
    $this->dropTable('characteristics');
    $this->dropTable('characteristics_units');
}
Why write more? If you use execut yii2-migration helper, you can write it faster and more compact:
```php
    public function initInverter(\execut\yii\migration\Inverter $i)
    {
        $i->table('characteristics')->create(array_merge($this->defaultColumns(), [
            'name' => $this->string()->notNull(),
            'short_name' => $this->string()->notNull(),
        ]));

        $i->table('characteristics_units')->create(array_merge($this->defaultColumns(), [
            'name' => $this->string()->notNull(),
        ]))->addForeignColumn('characteristics');
    }

Installation

The preferred way to install this extension is through composer.

Install

Either run

$ php composer.phar require execut/yii2-migration "dev-master"

or add

"execut/yii2-migration": "dev-master"

to the `require` section of your composer.json file.

Usage

To use yii2 migration, simply expand the migration class from the execut\yii\migration\Migration class and override the abstract method: `php

 public function initInverter(\execut\yii\migration\Inverter $i)
 {
 }
$i has all the methods that normal migration has, but allows you to write actions up and down at a time.

To permanently do not rewrite the migration, you can define a new template for the yii migrate\create command.
```php
    'controllerMap' => [
        'migrate' => [
            'templateFile' => '@vendor/execut/yii2-migration/views/template.php',
        ],

Supported databases

Currently only supported PostgreSQL and MySQL. Also you can use BDR plugin for PostgreSQL.

1 0
1 follower
496 downloads
Yii Version: 2.0
License: Apache-2.0
Category: Database
Developed by: eXeCUT
Created on: Jul 20, 2020
Last updated: (not set)
Packagist Profile
Github Repository

Related Extensions