Run the migrations.

@return void
165122
public function up()
    {
        Schema::rename('imageables', 'images');

        Schema::table('images', function (Blueprint $table) {
            /*
             * `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
             * `imageable_id` int(11) NOT NULL,
             * `imageable_type` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
             * `file` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
             * `orientation` int(11) NOT NULL,
             * `created_at` timestamp NULL DEFAULT NULL,
             * `updated_at` timestamp NULL DEFAULT NULL,
             */
            $table->renameColumn('imageable_id', 'resource_id');
            $table->renameColumn('imageable_type', 'resource_model');
            $table->string('image_type', 100)->after('imageable_type');
            $table->renameColumn('file', 'original_image');
            $table->unsignedSmallInteger('retina_factor')->nullable()->after('file');

            $table->dropColumn('orientation');
        });
    }
594197
public function up()
    {
        Schema::table('user_addresses', function (Blueprint $table) {
            $table->string('uid', 32)->unique();
            $table->string('phone_work')->nullable();
            $table->string('phone_home')->nullable();
            $table->string('phone_mobile')->nullable();
            $table->text('other_informations')->nullable();

            DB::statement('ALTER TABLE `user_addresses` MODIFY `address2` VARCHAR(255) NULL;');
        });

        Schema::table('order_addresses', function (Blueprint $table) {
            $table->string('uid', 32)->unique();
            $table->string('phone_work')->nullable();
            $table->string('phone_home')->nullable();
            $table->string('phone_mobile')->nullable();
            $table->text('other_informations')->nullable();

            DB::statement('ALTER TABLE `user_addresses` MODIFY `address2` VARCHAR(255) NULL;');
        });

        Schema::table('products', function (Blueprint $table) {
            $table->softDeletes();
        });
    }
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');
        });
    }
888822
public function up()
    {
    	if (Schema::hasTable('users')) {

    		Schema::table('users', function (Blueprint $table) {
	            
	            if (!Schema::hasColumn('users', 'is_admin')) {

	            	$table->tinyInteger('is_admin')->default(0)->comment('1: admin, 0: not is admin');
	            }

	            if (!Schema::hasColumn('users', 'name')) {
	            	$table->string('name');
	            }
	            
	            if (!Schema::hasColumn('users', 'email')) {
	            	$table->string('email')->unique();
	            }

	            if (!Schema::hasColumn('users', 'password')) {
	            	$table->string('password');
	            }

	            if (!Schema::hasColumn('users', 'remember_token')) {
	            	$table->rememberToken();
	            }


	        });
    	}

    	else {

    		Schema::create('users', function (Blueprint $table) {
	            $table->increments('id');
	            $table->string('name');
	            $table->string('email')->unique();
	            $table->string('password');
	            $table->tinyInteger('is_admin')->default(0)->comment('1: admin, 0: not is admin');
	            $table->rememberToken();
	            $table->timestamps();
	        });
    	}
        
    }
825663
public function up()
    {
        Schema::create(
            'option_categories',
            function (Blueprint $table) {
                $table->string('key');
                $table->timestamps();
                $table->primary('key');
            }
        );

        Schema::create(
            'options',
            function (Blueprint $table) {
                $table->increments('id');
                $table->string('key');
                $table->string('category_key');
                $table->text('value');
                $table->timestamps();
                $table->foreign('category_key')->references('key')->on('option_categories')->onDelete('CASCADE');
                $table->index(['category_key', 'key']);
            }
        );

        // Seed options
        $this->seedOptions();
    }
107134
public function up()
    {
        Schema::create(Models::table('abilities'), function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('title')->nullable();
            $table->integer('entity_id')->unsigned()->nullable();
            $table->string('entity_type')->nullable();
            $table->boolean('only_owned')->default(false);
            $table->json('options')->nullable();
            $table->integer('scope')->nullable()->index();
            $table->timestamps();
        });

        Schema::create(Models::table('roles'), function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('title')->nullable();
            $table->integer('level')->unsigned()->nullable();
            $table->integer('scope')->nullable()->index();
            $table->timestamps();

            $table->unique(
                ['name', 'scope'],
                'roles_name_unique'
            );
        });

        Schema::create(Models::table('assigned_roles'), function (Blueprint $table) {
            $table->increments('id');
            $table->integer('role_id')->unsigned()->index();
            $table->integer('entity_id')->unsigned();
            $table->string('entity_type');
            $table->integer('restricted_to_id')->unsigned()->nullable();
            $table->string('restricted_to_type')->nullable();
            $table->integer('scope')->nullable()->index();

            $table->index(
                ['entity_id', 'entity_type', 'scope'],
                'assigned_roles_entity_index'
            );

            $table->foreign('role_id')
                  ->references('id')->on(Models::table('roles'))
                  ->onUpdate('cascade')->onDelete('cascade');
        });

        Schema::create(Models::table('permissions'), function (Blueprint $table) {
            $table->increments('id');
            $table->integer('ability_id')->unsigned()->index();
            $table->integer('entity_id')->unsigned()->nullable();
            $table->string('entity_type')->nullable();
            $table->boolean('forbidden')->default(false);
            $table->integer('scope')->nullable()->index();

            $table->index(
                ['entity_id', 'entity_type', 'scope'],
                'permissions_entity_index'
            );

            $table->foreign('ability_id')
                  ->references('id')->on(Models::table('abilities'))
                  ->onUpdate('cascade')->onDelete('cascade');
        });
    }
377408
public function up()
    {
        $this->createSchema(function (Blueprint $table) {
            $table->string('email');
            $table->string('token');
            $table->timestamp('created_at')->nullable();

            $table->index(['email', 'token']);
        });
    }
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();
        });
    }
1088419
public function up()
    {
        Schema::create('pages', function (Blueprint $table) {
            $table->increments('id');
            $table->string(Entity::getUrlIDField())->unique();
            $table->string(Entity::getStringIdField())->unique();
            $table->string('title');
            $table->string('meta_title');
            $table->string('meta_description');
            $table->string('meta_keywords');
            $table->tinyInteger('status')->default(Entity::STATUS_PUBLISHED);
            $table->timestamps();
        });
    }
374202
public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('name', 64)->change();
            $table->string('email', 64)->nullable()->change();
            $table->string('password', 64)->nullable()->change();
            $table->char('locale', 5);
            $table->char('currency', 3);
            $table->integer('joined')->unsigned();
            $table->integer('last_login')->unsigned();
            $table->tinyInteger('notifications')->unsigned();

            $table->renameColumn('id', 'user_id');
            $table->renameColumn('name', 'username');
            $table->dropColumn('created_at');
            $table->dropColumn('updated_at');
        });

        Schema::create('categories', function (Blueprint $table) {
            $table->mediumInteger('category_id', true)->unsigned();
            $table->mediumInteger('parent_category_id')->nullable()->unsigned();
            $table->string('name', 128);
            $table->string('slug', 32);
            $table->tinyInteger('sort')->unsigned();

            $table->foreign('parent_category_id')->references('category_id')->on('categories');
            $table->unique(['parent_category_id', 'slug']);
        });

        Schema::create('item_conditions', function (Blueprint $table) {
            $table->mediumInteger('item_condition_id', true)->unsigned();
            $table->string('name', 64);
            $table->tinyInteger('sort')->unsigned();
        });

        Schema::create('listing_durations', function (Blueprint $table) {
            $table->mediumInteger('listing_duration_id', true)->unsigned();
            $table->integer('duration')->unsigned();
            $table->tinyInteger('sort')->unsigned();
        });

        Schema::create('items', function (Blueprint $table) {
            $table->integer('item_id')->unsigned();
            $table->string('name', 128);
            $table->mediumInteger('item_condition_id')->unsigned();
            $table->integer('user_id')->unsigned();
            $table->text('description');
            $table->boolean('auction');
            $table->integer('quantity')->unsigned();
            $table->decimal('start_price', 8, 2)->nullable()->unsigned();
            $table->decimal('reserve_price', 8, 2)->nullable()->unsigned();
            $table->decimal('bidding_price', 8, 2)->nullable()->unsigned();
            $table->decimal('fixed_price', 8, 2)->nullable()->unsigned();
            $table->decimal('commission', 5, 2)->unsigned();
            $table->integer('winning_bid_id')->nullable()->unsigned();
            $table->integer('duration')->unsigned();
            $table->integer('start_date')->unsigned();
            $table->integer('end_date')->unsigned();
            $table->integer('created')->unsigned();
            $table->string('collection_location')->nullable();
            $table->boolean('payment_other');
            $table->tinyInteger('returns_period')->nullable()->unsigned();

            $table->primary('item_id');
            $table->foreign('user_id')->references('user_id')->on('users');
            $table->foreign('item_condition_id')->references('item_condition_id')->on('item_conditions');
        });

        Schema::create('item_categories', function (Blueprint $table) {
            $table->integer('item_id')->unsigned();
            $table->mediumInteger('category_id')->unsigned();

            $table->primary(['item_id', 'category_id']);
            $table->foreign('item_id')->references('item_id')->on('items');
            $table->foreign('category_id')->references('category_id')->on('categories');
        });

        Schema::create('delivery_options', function (Blueprint $table) {
            $table->integer('delivery_option_id', true)->unsigned();
            $table->integer('item_id')->unsigned();
            $table->string('name', 64);
            $table->float('price', 5, 2)->unsigned();
            $table->tinyInteger('min_arrival_time')->unsigned();
            $table->tinyInteger('max_arrival_time')->unsigned();

            $table->foreign('item_id')->references('item_id')->on('items');
        });

        Schema::create('failed_jobs', function (Blueprint $table) {
            $table->increments('failed_job_id');
            $table->text('connection');
            $table->text('queue');
            $table->text('payload');
            $table->timestamp('failed_at');
        });

        Schema::create('watched_items', function (Blueprint $table) {
            $table->integer('item_id')->unsigned();
            $table->integer('user_id')->unsigned();
            $table->integer('added')->unsigned();

            $table->primary(['item_id', 'user_id']);
            $table->foreign('item_id')->references('item_id')->on('items');
            $table->foreign('user_id')->references('user_id')->on('users');
        });

        $conditions = [
            'New',
            'Used',
            'Refurbished',
            'Faulty / Spares',
        ];

        foreach ($conditions as $condition) {
            $item_condition = new ItemCondition();

            $item_condition->name = $condition;

            $item_condition->save();
        }

        $durations = [
            86400,
            86400 * 3,
            86400 * 7,
            86400 * 14,
            86400 * 28,
        ];

        foreach ($durations as $duration) {
            $listing_duration = new ListingDuration();

            $listing_duration->duration = $duration;

            $listing_duration->save();
        }
    }
603486
public function up()
	{
		Schema::create('terms', function(Blueprint $table)
		{
			$table->bigInteger('id', true)->unsigned();
			$table->bigInteger('parent_id')->unsigned()->default(0)->index('parent_id');
			$table->string('title', 80)->default('');
			$table->string('slug', 80)->default('')->index('slug');
			$table->string('taxonomy', 32)->default('')->index('taxonomy');
			$table->smallInteger('order')->unsigned()->default(99)->index('order');
			$table->timestamps();
		});
	}
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');
        });
    }
974226
public function up()
	{
		Schema::table('users', function(Blueprint $table)
		{
			$table->string('lastname',255);
			$table->string('surname',255);
			$table->boolean('active')->default(false);
		});
	}
1326890
public function up()
    {
        Schema::create('user__users', function (Blueprint $table) {
            $table->increments('id');

            $table->string('first_name')->nullable();
            $table->string('last_name')->nullable();

            $table->string('email')->unique();

            $table->string('title')->nullable();

            $table->text('office')->nullable();

            $table->text('bio')->nullable();

            $table->text('street')->nullable();
            $table->text('city')->nullable();
            $table->text('zip')->nullable();
            $table->text('country')->nullable();

            $table->string('phone')->nullable();
            $table->string('mobile')->nullable();

            $table->string('password');
            $table->timestamp('last_login');

            $table->softDeletes();
            $table->rememberToken();
            $table->timestamps();
        });
    }
489838
public function up()
    {
        Schema::table('categories', function(Blueprint $table)
        {
            $table->string('slug')->nullable()->index();
        });

        Schema::table('articles', function(Blueprint $table)
        {
            $table->string('slug')->nullable()->index();
        });

        Category::all()->each->touch();
    }
626258
public function up()
    {
        $this->schema->create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password')->nullable();
            $table->rememberToken();
            $table->timestamps();
            $table->softDeletes();
        });
    }
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');
        });
    }