Run the migrations.

@return void
482786
public function up()
    {
        Schema::create(
            'taxonomy_vocabularies',
            function (Blueprint $table) {
                $table->increments('id');
                $table->string('name', 255);
                $table->string('machine_name', 255)->unique();
                $table->text('description')->nullable();
                $table->integer('hierarchy')->default(0); // 0 = disabled, 1 = single, 2 = multiple
                $table->integer('translatable')->default(1);
            }
        );

        Schema::create(
            'taxonomy_terms',
            function (Blueprint $table) {
                $table->increments('id');
                $table->unsignedInteger('vocabulary_id');
                $table->integer('type')->default(0); // 0 = simple, 1 = category

                $table->foreign('vocabulary_id')->references('id')->on('taxonomy_vocabularies');
            }
        );

        Schema::create(
            'taxonomy_terms_data',
            function (Blueprint $table) {
                $table->increments('id');
                $table->unsignedInteger('term_id');
                $table->unsignedInteger('language_id');
                $table->string('title', 255);
                $table->text('description')->nullable();

                $table->foreign('term_id')->references('id')->on('taxonomy_terms');
                $table->foreign('language_id')->references('id')->on('languages');
            }
        );

        Schema::create(
            'taxonomy_term_hierarchy',
            function (Blueprint $table) {
                $table->unsignedInteger('term_id');
                $table->unsignedInteger('parent_id');

                $table->foreign('term_id')->references('id')->on('taxonomy_terms');
                $table->foreign('parent_id')->references('id')->on('taxonomy_terms');

                $table->primary(['term_id', 'parent_id']);
            }
        );

        Schema::create(
            'taxonomy_content',
            function (Blueprint $table) {
                $table->unsignedInteger('term_id');
                $table->unsignedInteger('relationable_id');
                $table->string('relationable_type');

                $table->foreign('term_id')->references('id')->on('taxonomy_terms');

                $table->primary(
                    ['term_id', 'relationable_id', 'relationable_type'],
                    'taxonomy_contents_composed_primary'
                );
            }
        );
    }
377408
public function up()
    {
        $this->createSchema(function (Blueprint $table) {
            $table->string('email');
            $table->string('token');
            $table->timestamp('created_at')->nullable();

            $table->index(['email', 'token']);
        });
    }
323766
public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            if (Schema::hasColumn('users', 'name'))
                $table->dropColumn('name');
            $table->integer('role_id')->unsigned()->nullable();
            $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
            $table->string('firstname')->default('');
            $table->string('lastname')->default('');
            $table->string('picture')->nullable();
        });
    }
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');
        });
    }
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');
    });
    }
477525
public function up()
    {
        Schema::create('preferences', function (Blueprint $table) {
            $table->increments('id');
            $table->string('key');
            $table->string('value');
            $table->enum('type', ['string', 'bool', 'int', 'float', 'array', 'time', 'json'])->default('string');
            $table->string('preferenceable_type');
            $table->integer('preferenceable_id')->unsigned();
            $table->nullableTimestamps();

            $table->unique(['key', 'preferenceable_type', 'preferenceable_id']);
        });
    }
203907
public function up()
    {
        Schema::create('user_groups', function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('user_id');
            $table->unsignedInteger('group_id');

            $table->foreign('user_id')->references('id')->on(config('membership.users.table'));
            $table->foreign('group_id')->references('id')->on('groups');

            $table->unique(['user_id', 'group_id']);
            $table->index(['user_id', 'group_id']);
        });
    }
198155
public function up() {
        Schema::create('languages', function (Blueprint $table) {
            $table->increments('id');
            $table->char('slug', 2)->unique();
            $table->string('title', 30);
            $table->tinyInteger('rank')->unsigned()->default(1);
            $table->boolean('active')->default(1);

            $table->index('active');
            $table->index('rank');
        });
    }
1090524
public function up()
    {
        Schema::table('users', function ($table) {
            $table->integer('role_id')->unsigned()->nullable()->after('id');
            $table->foreign('role_id')->references('id')->on('roles')->onDelete('set null')->onUpdate('cascade');
        });
    }
57807
public function up()
    {
        Schema::table($this->getUserTableName(), function (Blueprint $table) {
            $table->boolean('verified')->default(false);
        });

    }
1308151
public function up()
    {
        Schema::create('users', function (Blueprint $table) {

            $table->increments('id');
            $table->string('name', 100);
            $table->string('email', 100)->unique();
            $table->string('password');
            $table->string('role', 100)->default('user');

            $table->string('avatar', 100)->nullable();
            $table->text('info')->length(500)->nullable();
            $table->string('where_from')->nullable();
            $table->rememberToken();
            $table->string('api_token', 32)->nullable(); // md5(str_random(16));
            $table->ipAddress('last_ip')->nullable();

            $table->index('name');

            $table->timestamps();
            $table->timestamp('logined_at')->nullable();
        });
    }
1051884
public function up()
    {
        Schema::create('comments', function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('post_id')->nullable();
            $table->unsignedBigInteger('user_id')->nullable();
            $table->integer('parent_id')->nullable();
            $table->text('content');
            $table->boolean('approved')->nullable();
            $table->timestamps();

            $table->index(['approved', 'post_id']);
            $table->index('post_id');
            $table->index('parent_id');
            $table->foreign('post_id')
                ->references('id')
                ->on('posts')
                ->onUpdate('cascade')
                ->onDelete('cascade');
            $table->foreign('user_id')
                ->references('id')
                ->on('users')
                ->onUpdate('cascade')
                ->onDelete('cascade');
        });
    }
1001469
public function up()
    {
        Schema::table('attributes', function (Blueprint $table) {

            // String settings
            $table->integer('maxlength')->nullable();
            $table->string('pattern')->nullable();
            $table->string('autocomplete')->nullable();
            $table->string('placeholder')->nullable();

            // Numeric settings
            $table->double('min')->nullable();
            $table->double('max')->nullable();
            $table->double('step')->nullable();
        });
    }
1260883
public function up()
    {
        Schema::create('permission_user', function (Blueprint $table) {
            $table->unsignedInteger('permission_id');
            $table->unsignedInteger('user_id');
            $table->string('user_type');

            $table->foreign('permission_id')->references('id')->on('permissions')
                ->onUpdate('cascade')->onDelete('cascade');

            $table->primary(['user_id', 'permission_id', 'user_type']);
        });
    }
781397
public function up()
    {
        Schema::table('activity_log', function (Blueprint $table) {
            $table->string('log_name')->nullable();
            $table->string('description');
            $table->integer('subject_id')->nullable();
            $table->string('subject_type')->nullable();
            $table->integer('causer_id')->nullable();
            $table->string('causer_type')->nullable();
            $table->text('properties')->nullable();

            $table->dropColumn('ip_address');
            $table->dropColumn('user_id');
            $table->dropColumn('text');
        });
    }
877007
public function up()
    {
        Schema::create('config_categories', function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('parent_id')->nullable();
            $table->unsignedInteger('package_id');
            $table->string('key')->unique();
            $table->timestamps();

            $table->foreign('package_id')->references('id')->on('packages');
            $table->foreign('parent_id')->references('id')->on('config_categories');
        });

        Schema::create('configs', function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('config_category_id');
            $table->string('key');
            $table->string('value');
            $table->timestamps();

            $table->foreign('config_category_id')->references('id')->on('config_categories');
        });

        $this->config = new Config();
        $this->categories();
    }
1049759
public function up()
    {

        Schema::create('users', function (Blueprint $table) {

            $table->bigInteger('id')->primary();
            $table->integer('group_id');
            $table->string('name')->unique();
            $table->string('email')->unique()->nullable();
            $table->boolean('active')->default(true);
            $table->string('character_owner_hash');
            $table->dateTime('last_login')->nullable();
            $table->string('last_login_source')->nullable();
            $table->rememberToken();

            $table->index('group_id');

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