laravel解决迁移文件一次删除创建字段报错的问题

时间:2021-05-26

需求:通过写迁移文件更新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解决迁移文件一次删除创建字段报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章