我是靠谱客的博主 怡然丝袜,最近开发中收集的这篇文章主要介绍laravel解决迁移文件一次删除创建字段报错的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需求:通过写迁移文件更新user表中 topic 字段类型,从原来的varchar到json。

因为无法直接修改成json数据类型,只能采用先删除在创建的方式。

迁移文件代码如下:

<?php
 
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;
 
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解决迁移文件一次删除创建字段报错的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(102)

评论列表共有 0 条评论

立即
投稿
返回
顶部