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 ...
随机推荐
- CUDA编程入门笔记
1.线程块(block)是独立执行的,在执行的过程中线程块之间互不干扰,因此它们的执行顺序是随机的 2.同一线程块中的线程可以通过访问共享内存(shared memory)或者通过同步函数__sync ...
- 牛客OI月赛12-提高组题解
牛客OI月赛12-提高组 当天晚上被\(loli\)要求去打了某高端oj部分原创的模拟赛,第二天看了牛客的题觉得非常清真,于是就去写了 不难发现现场写出\(260\text{pts}\)并不需要动脑子 ...
- 操作bin目录下的文件
string dir = AppDomain.CurrentDomain.BaseDirectory + "Video"; if (!System.IO.Directory.Exi ...
- python--hmac
检测一下客户端是否合法,不依靠登录认证.这样即使知道服务端ip和端口,客户端也不能随便就连接服务端实现机制是在服务端中设置了密钥,借用了hmac os 两个模块 import socket impor ...
- Java生产环境下性能监控与调优详解
1:JVM字节码指令与 javapjavap <options> <classes>cd monitor_tuning/target/classes/org/alanhou/m ...
- linux指令【参考鸟哥的Linux私房菜】
date指令 显示日期 cal指令 显示日历 bc 计算器 scale+number 显示几位小数 quit退出bc tab键 命令提示 入输入ca,按下tab键,会将所有ca的指令全部 ...
- Dubbo在安全机制方面是如何解决的
Dubbo在安全机制方面是如何解决的 Dubbo通过Token令牌防止用户绕过注册中心直连,然后在注册中心上管理授权.Dubbo还提供服务黑白名单,来控制服务所允许的调用方.
- spark-sql中的分析函数的使用
分析函数的应用场景: (1)用于分组后组内排序 (2)指定计算范围 (3)Top N (4)累加计算 (5)层次计算 分析函数的一般语法: 分析函数的语法结构一般是: 分析函数名(参数) over ...
- windows10 自动配置切换IP
办公室与家里的ip网段不一样.每次都要来回修改本地无线WLAN IP段.写了个脚本bat,自动配置WLAN IP,方便切换. 建立 auto-set-ip.bat,保存格式需为ANSI,否则中文会乱码 ...
- C/C++ 智能指针
// 转载自 :https://www.cnblogs.com/wuyepeng/p/9741241.html { 为什么要使用智能指针:我们知道c++的内存管理是让很多人头疼的事,当我们写一个new ...