Run the migrations.

@return void
358545
public function up()
    {
        Schema::create('order__transactions', function (Blueprint $table) {
            $table->engine = 'InnoDB';
            $table->increments('id');

            $table->integer('order_id')->nullable();
            $table->integer('user_id')->nullable();

            $table->string('payment_method_id');
            $table->string('gateway_id');
            $table->string('gateway_transaction_id')->nullable();
            $table->string('currency_code', 3)->nullable();
            $table->integer('amount');
            $table->string('message', 500)->nullable();

            $table->timestamp('pay_at')->nullable();
            $table->string('receipt_type')->nullable();
            $table->timestamp('receipt_at')->nullable();
            $table->string('payer_name')->nullable();

            $table->string('bank_name')->nullable();
            $table->string('bank_account')->nullable();
            $table->text('additional_data')->nullable();

            $table->timestamp('cancelled_at')->nullable();
            $table->string('cancel_reason', 500)->nullable();

            $table->timestamps();
        });
    }
1165884
public function up()
    {
        Schema::drop('product_categories');

        Schema::create('categories', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('parent')->unsigned()->nullable();
        $table->integer('position');

        $table->timestamps();
        $table->softDeletes();
      });

        Schema::create('category_translations', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('category_id')->unsigned();
            $table->string('locale')->index();
        $table->string('label', 255);
        $table->string('slug', 255);
            $table->unique(['category_id', 'locale']);
            $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
        });

        Schema::create('category_product', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('category_id')->unsigned();
        $table->integer('product_id')->unsigned();

        // $table->foreign('category_id')->references('category_id')->on('categories')->onDelete('cascade');
        // $table->foreign('product_id')->references('product_id')->on('products')->onDelete('cascade');
    });
    }
962537
public function up()
    {
        Schema::create('changes', function ($table) {
            $table->engine = 'InnoDB';
            $table->increments('id');

            $table->string('model');
            $table->string('key');
            $table->string('action');
            $table->string('title')->nullable();
            $table->longText('changed')->nullable();

            $table->integer('admin_id')->unsigned();
            $table->longText('meta')->nullable();
            $table->boolean('deleted')->nullable();
            $table->timestamps();

            $table->index(['model', 'key']);
            $table->index(['key', 'model']);
            $table->index(['action', 'created_at']);
            $table->index(['created_at', 'action']);
            $table->index(['deleted', 'created_at']);
            $table->foreign('admin_id')->references('id')->on('admins')->onUpdate('cascade')->onDelete('cascade');
        });
    }
1175017
public function up()
    {
        Schema::create('roles', function (Blueprint $table) {
            $table->increments('id');
            $table->string('uuid', 36);
            $table->string('name', 80);
            $table->string('slug', 45);
            $table->string('description', 120);
            $table->tinyInteger('is_locked')->default(1)->comment('1 = Locked, 2 = Unlocked');
            $table->timestamps();
            $table->charset = 'utf8';
            $table->collation = 'utf8_general_ci';
        });
    }
1201881
public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('email')->unique();
            $table->string('password');
            $table->boolean('activated')->default(0);
            $table->boolean('superuser')->default(0);
            $table->string('first_name')->nullable();
            $table->string('last_name')->nullable();
            $table->text('preferences')->nullable();
            $table->uuid('api_token')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->rememberToken();
            $table->timestamps();
        });
    }
1164700
public function up()
    {
        Schema::create('did_tag', function (Blueprint $table) {
            $table->uuid('did_id')->index();
            $table->uuid('tag_id')->index();
            $table->timestamps();

            $table->foreign('did_id')->references('id')->on('dids');
            $table->foreign('tag_id')->references('id')->on('tags');
        });
    }
537735
public function up()
    {
        Schema::create($this->table, function (Blueprint $table) {
            $table->increments('id');
            $table->string('action');

            $table->string('table_name');

            $table->string('revisionable_type')->nullable();
            $table->integer('revisionable_id')->unsigned();

            $table->unsignedInteger('user_id')->nullable();

            $table->binary('old')->nullable();
            $table->binary('new')->nullable();

            $table->string('ip')->nullable();
            $table->string('ip_forwarded')->nullable();

            $table->timestamps();

            $table->index('action');
            $table->index('user_id');
            $table->index(['revisionable_type', 'revisionable_id']);
        });
    }
1353512
public function up()
    {
        Schema::create('scaffoldinterfaces', function (Blueprint $table) {
            $table->increments('id');
            $table->String('package');
            $table->String('migration');
            $table->String('model');
            $table->String('controller');
            $table->String('views');
            $table->String('tablename');
            $table->timestamps();
        });
    }
451233
public function up()
    {
        if ( ! Schema::hasTable('provinces')) {
            Schema::create('provinces', function(Blueprint $table) {
                $table->increments('id');
                $table->string('province', 50);

                $table->engine = 'InnoDB';
            });
        }

        if ( ! Schema::hasTable('counties')) {
            Schema::create('counties', function(Blueprint $table) {
                $table->increments('id');
                $table->unsignedInteger('province_id');
                $table->foreign('province_id')->references('id')->on('provinces')->onDelete('cascade');
                $table->string('county', 75);

                $table->engine = 'InnoDB';
            });
        }

        if ( ! Schema::hasTable('districts')) {
            Schema::create('districts', function(Blueprint $table) {
                $table->increments('id');
                $table->unsignedInteger('county_id');
                $table->foreign('county_id')->references('id')->on('counties')->onDelete('cascade');
                $table->string('district', 75);

                $table->engine = 'InnoDB';
            });
        }

        if ( ! Schema::hasTable('neighborhoods')) {
            Schema::create('neighborhoods', function(Blueprint $table) {
                $table->increments('id');
                $table->unsignedInteger('district_id');
                $table->foreign('district_id')->references('id')->on('districts')->onDelete('cascade');
                $table->string('neighborhood', 150);

                $table->engine = 'InnoDB';
            });
        }

        if ( ! Schema::hasTable('postal_codes')) {
            Schema::create('postal_codes', function(Blueprint $table) {
                $table->increments('id');
                $table->unsignedInteger('neighborhood_id');
                $table->foreign('neighborhood_id')->references('id')->on('neighborhoods')->onDelete('cascade');
                $table->char('postal_code', 6);

                $table->engine = 'InnoDB';
            });
        }
    }
1323520
public function up()
    {
        Schema::create($this->relationshipsTableName(), function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('blocker_id');
            $table->unsignedInteger('blocked_by_id');
            $table->timestamp('blocked_at');

            $table->unique(['blocker_id', 'blocked_by_id']);

            $key = $this->userKeyName();
            $tableName = $this->usersTableName();

            $table->foreign('blocker_id')
                ->references($key)
                ->on($tableName)
                ->onDelete('cascade');

            $table->foreign('blocked_by_id')
                ->references($key)
                ->on($tableName)
                ->onDelete('cascade');
        });
    }
967651
public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->timestamp('last_login')->nullable();
            $table->jsonb('permissions')->nullable();
        });
    }
1236197
public function up()
    {
        Schema::create('user_role', function (Blueprint $table) {
            $table->bigIncrements('id');

            $table->bigInteger('user_id')->unsigned();
            $table->bigInteger('role_id')->unsigned();

            $table->nullableTimestamps();

            $table->index(['user_id', 'role_id']);
        });
    }
490071
public function up()
    {
        Schema::create('tags', function($table) {
            $table->increments('id');
            $table->string('name');
            $table->string('slug');
            $table->timestamps();
            $table->softDeletes();
        });
        Schema::create('categories', function($table) {
            $table->increments('id');
            $table->string('name');
            $table->string('slug');
            $table->string('image');
            $table->timestamps();
            $table->softDeletes();
        });
        Schema::create('taggables', function($table) {
            $table->increments('id');
            $table->integer('tag_id')->unsigned();
            $table->morphs('taggables');
            $table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade');
        });
        Schema::create('categoryables', function($table) {
            $table->increments('id');
            $table->integer('category_id')->unsigned();
            $table->morphs('categoryables');
            $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
        });
        Schema::create('articles', function($table){
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->string('title');
            $table->string('slug');
            $table->text('intro');
            $table->longText('body');
            $table->string('image');
            $table->boolean('published');
            $table->timestamps();
            $table->softDeletes();
            $table->index('slug');
        });
    }
868907
public function up()
    {
        Schema::create(
            'users',
            function (Blueprint $table) {
                $table->increments('id');
                $table->string('email')->unique();
                $table->string('password');
                $table->string('name')->unique()->nullable();
                $table->string('first_name')->nullable();
                $table->string('last_name')->nullable();
                $table->boolean('is_admin')->default(false);
                $table->rememberToken();
                $table->timestamps();
            }
        );

        // Seed users
        $this->seedUsers();
    }
231519
public function up()
    {
        Schema::table('nodes', function (Blueprint $table) {
            $table->unique('id');
            $table->unique(['content_type', 'content_id']);

            $table->index('slug');
            $table->index('parent_id');
            $table->index('lft');
            $table->index('rgt');
            $table->index('active');
        });
    }
488580
public function up()
    {
        Schema::create('user_action_timestamps', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->timestamp('activated_at')->nullable();
            $table->timestamp('invited_at')->nullable();
            $table->timestamp('blocked_at')->nullable();
            $table->timestamp('password_updated_at')->nullable();
            $table->softDeletes();

            $table->foreign('user_id')
                ->references('id')
                ->on('users')
                ->onDelete('cascade');
        });
    }
267170
public function up()
    {
        Schema::create('like_counter', function (Blueprint $table) {
            $table->increments('id');
            $table->morphs('likeable');
            $table->enum('type_id', [
                'like',
                'dislike',
            ])->default('like');
            $table->integer('count')->unsigned()->default(0);

            $table->unique([
                'likeable_id',
                'likeable_type',
                'type_id',
            ], 'like_counter_unique');
        });
    }