需求:通過寫遷移文件更新user表中 topic 字段類型,從原來的varchar到json。
因為無法直接修改成json數據類型,只能采用先刪除在創建的方式。
遷移文件代碼如下:
?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUserTable extends Migration{
/**
* 運行遷移
*
* @return void
*/
public function up()
{
Schema::create('user', function (Blueprint $table) {
if (Schema::hasColumn('topic')) {
$table->dropColumn('topic');
}
$table->json('topic')->comment('主題');
});
}
/**
* 撤銷遷移
*
* @return void
*/
public function down()
{
//
}
}
執行遷移文件報錯,提示topic這個字段已經存在。
但是很顯然上面已經刪除了,但是 刪除創建分開兩次執行,一切正常。
猜想:可能是遷移文件執行類型與實務,一起提交才成功。后續有機會驗證
以上這篇laravel解決遷移文件一次刪除創建字段報錯的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel框架數據庫遷移操作實例詳解
- laravel 執行遷移回滾示例
- Laravel5.5 數據庫遷移:創建表與修改表示例
- 關于laravel 數據庫遷移中integer類型是無法指定長度的問題
- Laravel5.7 數據庫操作遷移的實現方法
- laravel 數據遷移與 Eloquent ORM的實現方法
- 詳細Laravel5.5執行表遷移命令出現表為空的解決方案
- Laravel中數據遷移與數據填充的詳細步驟
- Laravel實現數據庫遷移與支持中文的填充
- Laravel 的數據庫遷移的方法
- Laravel 5框架學習之數據庫遷移(Migrations)
- 使用git遷移Laravel項目至新開發環境的步驟詳解