2017 © Pedro Peláez
 

yii2-extension yii2-migration-generator

Generates migrations from Annotations

image

skobka/yii2-migration-generator

Generates migrations from Annotations

  • Tuesday, January 2, 2018
  • by skobka
  • Repository
  • 2 Watchers
  • 8 Stars
  • 940 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 1 Open issues
  • 6 Versions
  • 4 % Grown

The README.md

yii2-migration-generator

Generates migrations from Annotations of Model or ActiveRecords classes (not only). You simple write classes as usual and then asking generator to create migration file from code., (*1)

NOTE! Works only with yii2 console. This is NOT Gii extension, (*2)

Installation

php composer.phar require --dev skobka/yii2-migration-generator "*"

Or add it manualy to composer.json, (*3)

{
  "require-dev": {
    "skobka/yii2-migration-generator": "*"
  }
}

Next step is to enable generation from Yii2 console. Add following code in console/config/main.php, (*4)

use skobka\yii2\migrationGenerator\Controllers\MigrationGeneratorController;

return [
   //...
    'controllerMap' => [
        'migration' => [
            'class' => MigrationGeneratorController::class,
        ],
    ],
   //...
]

Usage

This package provide following annotations: - @Superclass(active=true) - @Table(name="") - @Column(name="", type="", typeArgs={}, extra=""), (*5)

@Superclass

Indicate that annotation from current class must be included in child class. When parser goes throught classes it will skip class without @Superclass or @Table annotation. Parser will not finds parents of such class. If you want to skip current @Superclass from parsing, simple set option active to false, (*6)

@Table

This annotations tells that current class define a table. Table name takes from property name:, (*7)

@Table(name="my_first_table")
// You can use @Table() without parameters, then MyModel::tableName() will be used

@Column

This annotation defined a table column. You must specify the name and type of column., (*8)

NOTE! Column types must be a method names of yii\db\SchemaBuilderTrait Available properties: - name - name of column - type - column type - typeArgs - an array of type arguments, for example: @Column(type="decimal", typeArgs={10,2}) - extra - string wich will be append to then end of column definition, (*9)

After all run, (*10)

php yii migration/generate common/models/mymodel 

Examples

/**
 * @Superclass()
 * @Column(name="id", type="primaryKey")
 * @Column(name="uid", type="integer", notNull=false)
 * 
 * @property int id
 * @property int uid
 */
class BaseModel
{

}
<?php
use skobka\yii2\migrationGenerator\annotation\Column;
use skobka\yii2\migrationGenerator\annotation\Superclass;
use skobka\yii2\migrationGenerator\annotation\Table;

/**
 * @Table(name="{{%simple_class}}")
 *
 * @Column(name="some", type="string", typeArgs={255}, extra=" DEFAULT '0'")
 * @Superclass()
 * use superclass annotation to allow extending class annotation
 *
 * @property string some
 */
class SimpleClass extends BaseModel
{

}
<?php
use skobka\yii2\migrationGenerator\annotation\Column;
use skobka\yii2\migrationGenerator\annotation\Table;

/**
 * @Table(name="sub_simple_class")
 * @Column(name="created", type="integer", notNull=true)
 *
 * @property int created
 */
class SubSimpleClass extends SimpleClass
{

}

The Versions

02/01 2018

dev-unit-test-covering

dev-unit-test-covering

Generates migrations from Annotations

  Sources   Download

MIT

The Requires

 

The Development Requires

by Soshnikov Artem

extension yii2

13/03 2017

dev-master

9999999-dev

Generates migrations from Annotations

  Sources   Download

MIT

The Requires

 

The Development Requires

by Soshnikov Artem

extension yii2

04/01 2017

v2.0.2

2.0.2.0

Generates migrations from Annotations

  Sources   Download

MIT

The Requires

 

The Development Requires

by Soshnikov Artem

extension yii2

22/06 2016

v2.0.1

2.0.1.0

Generates migrations from Annotations

  Sources   Download

MIT

The Requires

 

The Development Requires

by Soshnikov Artem

extension yii2

29/05 2016

v1.1.0

1.1.0.0

Generates migrations from Annotations

  Sources   Download

MIT

The Requires

 

The Development Requires

15/04 2016

v1.0.2

1.0.2.0

Generates migrations from Annotations

  Sources   Download

MIT

The Requires