Laravel 迁移检查表是否存在
2024-09-01 15:05:25
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
最新文章
- (原创) alljoyn物联网实验之手机局域网控制设备
- MongoDB学习笔记~使用原生语句实现三层集合关系的更新
- myeclipse连接oracle步骤
- SQL Server如何编辑超过前200行的数据
- Select-or-Die:灵活的 jQuery 下拉列表插件
- JavaScript instanceof 运算符深入剖析
- [Android Memory] App调试内存泄露之Context篇(上)
- mssql查找备注(text,ntext)类型字段为空的方法
- 针对 .NET 框架的安全编码指南
- nodejs 教程
- OOP in Javascript
- JAVA多线程统计日志计数时的线程安全及效率问题
- SCRIPT5007:无法获取属性“show”的值,对象为null或未定义
- jQuery学习笔记 .addClass()/.removeClass()简单学习
- 编译的时候出现 usr/bin/ld: cannot find -lxxx 的错误
- DRF 中使用 级验科技滑动验证
- StackWalk64
- bzoj 4621: Tc605 动态规划
- 微软BI 之SSIS 系列 - XML Task 中XSLT 样式表转换错误记录
- python练习:一行搞定-统计一句话中每个单词出现的个数
热门文章
- Centos 能ping通域名和公网ip但是网站不能够打开,服务器拒绝了请求。打开80端口解决。
- python面试题之你如何管理不同版本的代码?
- Java 四种内部类
- Django项目从新建到运行
- tf.matmul() 和tf.multiply() 的区别
- kubeadm生成的token重新获取
- thinlphp配置加载
- NX二次开发-UFUN创建倒圆UF_MODL_create_blend
- linux centos 安装配置rsync
- IntelliJ + Maven + 内Jetty 实现热部署项目