Laravel 迁移检查表是否存在
Schema::hasTable('TableName'); //检查表释放存在
Schema::hasColumn('tableName', 'columeName'); //检查表是否存在某个字段
eg. alert_test_add_timesteamps_field.php 文件,添加updated_at和created_at 2个字段
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AlertTestAddTimesteampsField extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('test', function (Blueprint $table) {
            if (!Schema::hasColumn('test', 'updated_at')) {
                $table->timestamp('updated_at')->nullable();
            }
            if (!Schema::hasColumn('test', 'created_at')) {
                $table->timestamp('created_at')->nullable();
            }
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('test', function (Blueprint $table) {
            if (Schema::hasColumn('test', 'updated_at')) {
                $table->dropColumn('updated_at');
            }
            if (Schema::hasColumn('test', 'created_at')) {
                $table->dropColumn('created_at');
            }
        });
    }
}
迁移的常用命令(前提:已cd到项目的根目录下)
php artisan make:migration create_tablename_tables --create=tableName #创建新表时使用
php artisan make:migration alert_tablename_coumn_field --table=tableName #修改表中的字段时使用
php artisan migrate # 执行迁移
php artisan migrate --seed # 执行迁移及生成测试数据
php artisan migrate:rollabck # 回滚上一步迁移
php artisan migrate:refersh # 重新执行迁移
php artisan migrate:refresh --seed # 重新生成表和填充数据
References
Laravel 迁移检查表是否存在的更多相关文章
- 小程序实现sql插入语句转换成Laravel迁移语句
		
sql的插入语句长这样: INSERT INTO `media` (`MediaID`, `type`, `filename`, `title`) VALUES (1, 'word', 'word1. ...
 - 关于Laravel 迁移数据库的问题
		
今天在Homestead 中用 php artisan migrate 迁移数据库时出现了拒绝的情况: ***之后发现只要修改项目文件夹下面的database.php 和.env 文件中的数据库配置, ...
 - laravel 迁移文件中修改含有enum字段的表报错解决方法
		
解决方法: 在迁移文件中up方法最上方加上下面这一行代码即可: Schema::getConnection()->getDoctrineSchemaManager()->getDataba ...
 - laravel 迁移枚举
		
$table->enum('type', ['replace', 'warning'])->comment('类型');
 - laravel迁移文件中字段方法对应的数据库类型
		
/* *Blueprint类中的方法方法 <-> 数据库数据类型 * */ // 数字 increments();// int(10) unsigned primarykey auto_i ...
 - Laravel学习笔记(四)数据库 数据库迁移案例
		
创建迁移 首先,让我们创建一个MySql数据库“Laravel_db”.接下来打开app/config目录下的database.php文件.请确保default键值是mysql: return arr ...
 - Laravel学习笔记(三)数据库 数据库迁移
		
该章节内容翻译自<Database Migration using Laravel>,一切版权为原作者. 原作者:Stable Host, LLC 翻译作者:Bowen Huang 正文: ...
 - laravel_5《数据库迁移》
		
Laravel鼓励敏捷.迭代的开发方式,我们没指望在第一次就获得所有正确的.相反,我们编写代码.测试和与我们的最终用户进行交互,并完善我们的理解. 对于工作,我们需要一个配套的实践集.我们使用像sub ...
 - Laravel 生成migration ,boolean字段字段转为tinyInteger
		
Schema::create('consults', function (Blueprint $table) { $table->increments('id'); $table->str ...
 
随机推荐
- Editor REST Client
			
Editor REST Client 制作一个http请求 请求行 GET https://example.com/comments/1 HTTP/1.1 POST https://example.c ...
 - 一、数据库、SQL简介
			
1.数据库简介 1.1数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 数据库软件:称为数据库管理系统(DBMS),数据库是通过DBMS创建和操纵的.通常用户使用DBMS访问数据库. 表:表 ...
 - kubeadm生成的token重新获取
			
当你的token忘了或者过期,解决办法如下: 1.先获取token #如果过期可先执行此命令kubeadm token create #重新生成token#列出tokenkubeadm token l ...
 - lib 和 dll 的区别、生成以及使用详解 ~~包含示例代码~~(转)
			
原文章地址:https://www.cnblogs.com/TenosDoIt/p/3203137.html#c 首先介绍一下静态库(静态链接库).动态库(动态链接库)的概念,首先两者都是代码共享的方 ...
 - VS项目种类GUID
			
在VS里新建的类库项目,在添加新建项时往往找不到模板.比如想新建一个WPF的资源词典文件,VS认为该类库项目不是WPF类型,就没有列出新建资源词典的模板.解决办法是在csproj文件的<Prop ...
 - Mybatis枚举转换
			
自定义mybatis枚举转换,原理是如果用户没有定义自己的枚举转换工具,mybatis在解析枚举类时会自动获取mybatis的BaseTypeHandler,来转换枚举类,我们只需要重写这个枚举转换器 ...
 - BlockingQueu 阻塞队列
			
java.util.concurrent public interface BlockingQueue<E> extends Queue<E> 简介 当阻塞队列插入数据时: 如 ...
 - Go 逻辑运算符
			
Go 逻辑运算符 package main import "fmt" func main() { var a bool = true var b bool = false if ( ...
 - bzoj 1010,1011
			
上次应某位同学的要求先把代码给贴上了,今天还是细细讲讲比较好 bzoj 1010: dp+斜率优化 首先dp的思路并不是太难想出来,直接给方程:f[i] = min{f[j-1] + (sum[i]- ...
 - NX二次开发-UFUN编辑添加哪些图层UF_LAYER_edit_category_layer
			
1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_layer.h> 5 6 7 UF_initialize(); 8 9 //创 ...