我已经这样:如何改变在laravel 5.3现有的表列使用迁移
$表 - >整数( 'ROLE_ID') - >指数() - >无符号() - >可为空的() ;
但我想把它改成这样:
$表 - >整数( 'ROLE_ID') - >指数() - >无符号() - >可空() - >默认( 3);
我本来想用这个,但源语法我不明白:
PHP工匠制作:迁移update_role_id_in_users --table =用户
我甚至使用doctrine/ddbal
尝试包和运行此:
php artisan make:migration modify_role_id_in_users --table = users
与迁移设置是这样的:
class ModifyRoleIdInUsers extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
//
$table->integer('role_id')->index()->unsigned()->nullable()->default(3)->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
//
$table->integer('role_id')->index()->unsigned()->nullable()->change();
});
}
}
但是,当我去迁移我得到这个错误:
[照亮\数据库\ QueryException] SQLSTATE [42000] :语法错误 或访问冲突:1061重复键名'users_role_id_index' (SQL:alter table'users'add index'users_role_id_index'('role_
ID'))[学说\ DBAL \驱动\ PDOException] SQLSTATE [42000]:语法错误 或访问冲突:1061重复键名 'users_role_id_index'
[PDOException] SQLSTATE [42000]:语法错误或访问冲突: 1061重复键名“users_role_id_index”
我怎样才能改变column
而不做migrate:refresh
我已经这样做,我得到了上面显示的错误。 –
请按照我上面所做的那样,将代码添加到“原始用户迁移”或“修改迁移代码”中。 –
您将需要创建一个新的迁移,然后将该代码放入该迁移 –