我已經這樣:如何改變在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
我已經這樣做,我得到了上面顯示的錯誤。 –
請按照我上面所做的那樣,將代碼添加到「原始用戶遷移」或「修改遷移代碼」中。 –
您將需要創建一個新的遷移,然後將該代碼放入該遷移 –