2017-04-17 154 views
0

我使用迁移将nullable()添加到列。数据库迁移notnull()?

class ChangeUgIdCanNull extends Migration 
{ 
    public function up() 
    { 
    Schema::table('service_request_step', function (Blueprint $table) { 
     $table->dropForeign(['ug_id']); 
    }); 
    Schema::table('service_request_step', function (Blueprint $table) { 
     $table->dropIndex(['ug_id']); 
    }); 
    Schema::table('service_request_step', function (Blueprint $table) { 
     $table->integer('ug_id')->unsigned()->index()->nullable()->change(); 
     $table->foreign('ug_id')->references('ug_id') 
      ->on('user_group')->onDelete('cascade'); 
    }); 
    } 

    public function down() 
    { 
    Schema::table('service_request_step', function (Blueprint $table) { 
     $table->dropForeign(['ug_id']); 
    }); 
    Schema::table('service_request_step', function (Blueprint $table) { 
     $table->dropIndex(['ug_id']); 
    }); 
    Schema::table('service_request_step', function (Blueprint $table) { 
     $table->integer('ug_id')->unsigned()->index()->change(); 
     $table->foreign('ug_id')->references('ug_id') 
      ->on('user_group')->onDelete('cascade'); 
    }); 
    } 
} 

当我使用php artisan migrate是好的。 但是,当我想要php artisan migrate:rollback.在我的'ug_id'列中的数据库仍然可以为空。 难道我有一个像$table->integer('ug_id')->unsigned()->index()->notnull()->change();

Laravel Version: 5.4.19 
PHP Version: 7.1.3 
Database Driver & Version: 10.2.4-MariaDB 

回答

1

可以使用nullable(false)一些功能。 你的代码应该是

$table->integer('ug_id')->unsigned()->index()->nullable(false)->change(); 
+1

Wowww。那是。谢谢。 – ThunderBirdsX3