hasTable("users") && !$builder->hasColumn("users","spam_type") ) { $builder->table('users', function (Table $table) { $table->string('spam_type')->setNotnull(true)->setDefault('None'); }); } if(!$schema->hasTable("users_spam_estimator_feed")) { $builder->create('users_spam_estimator_feed', function (Table $table) { $table->increments('id'); $table->timestamps(); $table->string("first_name", 100)->setNotnull(false); $table->string("last_name", 100)->setNotnull(false); $table->string("email", 255)->setNotnull(false); $table->unique("email"); $table->text("bio")->setNotnull(false); $table->string('spam_type')->setNotnull(true)->setDefault('None'); }); } if(!$schema->hasTable("users_deleted")) { $builder->create('users_deleted', function (Table $table) { $table->increments('id'); $table->timestamps(); $table->string("first_name", 100)->setNotnull(false); $table->string("last_name", 100)->setNotnull(false); $table->string("email", 255)->setNotnull(false); $table->unique("email"); $table->bigInteger("performer_id")->setUnsigned(true); $table->index("performer_id", "performer_id"); $table->foreign("users", "performer_id", "id", ["onDelete" => "CASCADE"]); }); } if(!$schema->hasTable("users_email_changed")) { $builder->create('users_email_changed', function (Table $table) { $table->increments('id'); $table->timestamps(); $table->string("former_email", 255)->setNotnull(false); $table->string("new_email", 255)->setNotnull(false); $table->bigInteger("user_id")->setUnsigned(true); $table->index("user_id", "user_id"); $table->foreign("users", "user_id", "id", ["onDelete" => "CASCADE"]); $table->bigInteger("performer_id")->setUnsigned(true); $table->index("performer_id", "performer_id"); $table->foreign("users", "performer_id", "id", ["onDelete" => "CASCADE"]); }); } } /** * @param Schema $schema */ public function down(Schema $schema) { $builder = new Builder($schema); $builder->dropIfExists("users_email_changed"); $builder->dropIfExists("users_deleted"); $builder->dropIfExists("users_spam_estimator_feed"); } }