时间: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邮箱联系删除。
Laravel5.x运行迁移命令创建数据表:phpartisanmigrate报错。Illuminate\Database\QueryException
migrate文件记录了每一次数据迁移的改变解决方法:重建数据库1.删除数据库错误方法:pythonmanage.pyshellfromapp.modelsim
在Laravel项目中,由于测试,有时候用phpartisanmake:migrationcreate_xxx_table创建数据库迁移。如果把创建的迁移文件d
1.解决的问题当你需要一次输入很多个命令的时候,例如一次去多个目录删除文件复制代码代码如下:cddir1rmfile1.tempcd../../dir2rm-r
Laravel鼓励敏捷、迭代的开发方式,我们没指望在第一次就获得所有正确的。我们对于自己编写和设计数据库,可以通过迁移文件,不断的重复去测试.但是有些时候我们需