Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Menus/config/Migrations/20160807105149_MenusInitialMigration.php
<?php

use Migrations\AbstractMigration;

class
MenusInitialMigration extends AbstractMigration
{
    public function
up()
    {
       
$this->table('menus')
            ->
addColumn('title', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => false,
            ])
            ->
addColumn('alias', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => false,
            ])
            ->
addColumn('class', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => false,
            ])
            ->
addColumn('description', 'text', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addColumn('status', 'integer', [
               
'default' => null,
               
'limit' => 1,
               
'null' => true,
            ])
            ->
addColumn('weight', 'integer', [
               
'default' => null,
               
'limit' => 11,
               
'null' => true,
            ])
            ->
addColumn('link_count', 'integer', [
               
'default' => 0,
               
'limit' => 11,
               
'null' => false,
            ])
            ->
addColumn('params', 'text', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addColumn('publish_start', 'datetime', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addColumn('publish_end', 'datetime', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addTimestamps('created', 'updated')
            ->
addColumn('created_by', 'integer', [
               
'default' => null,
               
'limit' => 20,
               
'null' => false,
            ])
            ->
addColumn('updated_by', 'integer', [
               
'default' => null,
               
'limit' => 20,
               
'null' => true,
            ])
            ->
addIndex(
                [
                   
'alias',
                ],
                [
                   
'unique' => true,
                   
'limit' => 190,
                ]
            )
            ->
create();

       
$this->table('links')
            ->
addColumn('parent_id', 'integer', [
               
'default' => null,
               
'limit' => 20,
               
'null' => true,
            ])
            ->
addColumn('menu_id', 'integer', [
               
'default' => null,
               
'limit' => 20,
               
'null' => false,
            ])
            ->
addColumn('title', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => false,
            ])
            ->
addColumn('class', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => true,
            ])
            ->
addColumn('description', 'text', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addColumn('link', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => false,
            ])
            ->
addColumn('target', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => true,
            ])
            ->
addColumn('rel', 'string', [
               
'default' => null,
               
'limit' => 255,
               
'null' => true,
            ])
            ->
addColumn('status', 'integer', [
               
'default' => null,
               
'limit' => 1,
               
'null' => true,
            ])
            ->
addColumn('lft', 'integer', [
               
'default' => null,
               
'limit' => 11,
               
'null' => true,
            ])
            ->
addColumn('rght', 'integer', [
               
'default' => null,
               
'limit' => 11,
               
'null' => true,
            ])
            ->
addColumn('visibility_roles', 'text', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addColumn('params', 'text', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addColumn('publish_start', 'datetime', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addColumn('publish_end', 'datetime', [
               
'default' => null,
               
'limit' => null,
               
'null' => true,
            ])
            ->
addTimestamps('created', 'updated')
            ->
addColumn('created_by', 'integer', [
               
'default' => null,
               
'limit' => 20,
               
'null' => false,
            ])
            ->
addColumn('updated_by', 'integer', [
               
'default' => null,
               
'limit' => 20,
               
'null' => true,
            ])
            ->
addForeignKey('menu_id', 'menus', ['id'], [
               
'constraint' => 'fk_links2menus',
               
'delete' => 'RESTRICT',
            ])
            ->
create();
    }

    public function
down()
    {
       
$this->table('links')->drop()->save();
       
$this->table('menus')->drop()->save();
    }
}