laravel迁移文件一次删除创建字段报错
2018-03-08 22:07
549 查看
需求:通过写迁移文件更新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这个字段已经存在。
但是很显然上面已经删除了,但是 删除创建分开两次执行,一切正常。
猜想:可能是迁移文件执行类型与实务,一起提交才成功。后续有机会验证
因为无法直接修改成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使用artisan创建迁移后手动删除迁移文件报错解决方法
- Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
- 在 Laravel 中通过 Artisan View 扩展包创建及删除应用视图文件
- 在 Laravel 中通过 Artisan View 扩展包创建及删除应用视图文件
- 在 Laravel 中通过 Artisan View 扩展包创建及删除应用视图文件
- 在 Laravel 中通过 Artisan View 扩展包创建及删除应用视图文件
- 使用终端操作数据库文件,创建 删除 查找内容 插入内容
- java创建删除文件及文件夹大全
- WebSphere创建删除概要文件
- Android SD卡创建文件夹/文件 SD卡写入内容 SD卡删除文件 计算SD卡文件大小,Android6.0+权限
- Laravel 5数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构
- 文件夹创建以及文件删除C语言实现
- sql语言:如何判断字段是否存在,如何删除及创建字段
- 创建一个Date.text文件,获取当前的日期,将日期格式为“2013/02/14 05:20:00”的形式。然后一秒钟记录一次,将新的时间存入到文件中。
- ubuntu下创建、删除文件、文件夹,移动文件
- Java创建、重命名、删除文件和文件夹
- 文件操作:重命名,复制,删除,创建
- linux中文件的迁移与删除
- ubuntu创建、删除文件及文件夹,强制清空回收站方法
- C# 文件、文件夹操作语句(删除,创建,移动,检查是否存在)