lovata/oc-toolbox-plugin

View on GitHub
classes/parser/templates/migration.stub

Summary

Maintainability
Test Coverage
<?php namespace {{studly_author}}\{{studly_plugin}}\Updates;

use Schema;
use Illuminate\Database\Schema\Blueprint;
use October\Rain\Database\Updates\Migration;

/**
 * Class CreateTable{{studly_controller}}
 * @package {{studly_author}}\{{studly_plugin}}\Classes\Console
 [[developer]]* @author {{developer}}
 [[developer]]*/
class CreateTable{{studly_controller}} extends Migration
{
    const TABLE = '{{lower_author}}_{{lower_plugin}}_{{lower_controller}}';

    /**
     * Apply migration
     */
    public function up()
    {
        if (Schema::hasTable(self::TABLE)) {
            return;
        }

        Schema::create(self::TABLE, function (Blueprint $obTable)
        {
            $obTable->engine = 'InnoDB';
            $obTable->increments('id')->unsigned();
[[empty_fields]][[active]]            $obTable->boolean('active')->default(0);
[[active]][[name]]            $obTable->string('name')->index();
[[name]][[slug]]            $obTable->string('slug')->unique()->index();
[[slug]][[code]]            $obTable->string('code')->nullable()->index();
[[code]][[external_id]]            $obTable->string('external_id')->nullable()->index();
[[external_id]][[preview_text]]            $obTable->text('preview_text')->nullable();
[[preview_text]][[description]]            $obTable->text('description')->nullable();
[[description]][[view_count]]            $obTable->integer('view_count')->nullable()->default(0);
[[view_count]][[empty_fields]][[nested_tree]]            $obTable->integer('parent_id')->nullable()->unsigned();
            $obTable->integer('nest_left')->nullable()->unsigned();
            $obTable->integer('nest_right')->nullable()->unsigned();
            $obTable->integer('nest_depth')->nullable()->unsigned();
[[nested_tree]][[sortable]]            $obTable->integer('sort_order')->nullable()->default(0);
[[sortable]]            $obTable->timestamps();
        });
    }

    /**
     * Rollback migration
     */
    public function down()
    {
        Schema::dropIfExists(self::TABLE);
    }
}