laravel中的数据迁移表结构、字段类型、定义整理
最近使用laravel做项目,其他的用的还算比较熟练,就是在生成迁移文件的时候记不住每个字段类型都怎么表示,下面是整理的一些字段类型:
/* 表引擎 */ $table->engine = 'InnoDB';/* 类型 */ // - 数字 $table->bigInteger('id'); $table->integer('id'); $table->mediumInteger('id'); $table->smallInteger('id'); $table->tinyInteger('id'); $table->decimal('balance', 15, 8); $table->float('balance'); $table->double('balance', 15, 8); $table->real('balance');// - 时间 $table->date('created_at'); $table->dateTime('created_at'); $table->timeStamp('created_at'); $table->time('sunrise'); // - 字符串 $table->char('name', 4); // 等同于 VARCHAR $table->string('name'); // 等同于 VARCHAR(100) $table->string('name', 100); $table->text('description'); $table->mediumText('description'); $table->longText('description');// 等同于 BLOB $table->binary('data'); $table->enum('choices', ['foo', 'bar']); $table->boolean('confirmed'); // - 不经常用的 $table->json('options'); // 等同于数据库中的 JSON 类型 $table->jsonb('options'); // 等同于数据库中的 JSONB 类型 $table->uuid('id'); // 等同于数据库的UUID // 自增ID,类型为 bigint $table->bigIncrements('id');// 自增ID,类型为 int $table->increments('id'); // 添加一个 INTEGER类型的 taggable_id 列和一个 STRING类型的 taggable_type列 $table->morphs('taggable'); // 和 timestamps() 一样,但允许 NULL 值 $table->nullableTimestamps('created_at'); // 添加一个 'remember_token' 列:VARCHAR(100) NULL $table->rememberToken(); // 添加 'created_at' 和 'updated_at' $table->timeStamps(); // 新增一个 'deleted_at' 列,用于 '软删除' $table->softDeletes(); /* 列修改器 */ ->first(); // 将列置于表第一个列(仅限于MYSQL) ->after('列名'); // 将列置于某一列后(仅限于MYSQL) ->nullable(); // 允许列为NULL ->defalut($value); // 指定列默认值 ->unsigned(); // 设置整型列为 UNSIGNED /* 修改列 需安装 doctrine/dbal,composer require doctrine/dbal */ // change() - 修改列 $table->string('name', 30)->nullable()->change(); // renameColumn() - 重命名列 $table->renameColumn('name', 'title'); /* 删除列 需安装 doctrine/dbal,composer require doctrine/dbal */ // 删除单个列 $table->dropColumn('name'); // 删除多个列 $table->dropColumn(['name', 'age']); /* 创建索引 * 每种索引,都有3种方式: * 一个string参数 * 一个array参数 - 组合索引 * 2个参数 - 允许自定义索引名 * 注意: * laravel自动分配的索引名: * 表名_列名_索引类型:users_mobile_unique // users表的mobile字段为unique 索引 */ $table->primary('id'); // 主键索引 $table->primary(['first', 'last']); // 混合索引(这个不太清楚) $table->primary('first', 'first_primary_index']); // 自定义索引名 $table->unique('mobile'); // 唯一索引 $table->index('state'); // 普通索引 /* 删除索引 */ $table->dropPrimary('索引名') $table->dropUnique('索引名') $table->dropIndex('索引名') /* 外键约束 * 注意: * laravel自动分配的外键名: * 表名_列名_foreign:posts_user_id_foreign // posts表的user_id字段添加foreign */ // 添加外键,当前表的user_id,外键关联users表的id列 $table->foreign('user_id')->references('id')->on('users'); // 约束 'on delete' 和 'on update' 时,才关联外键 $table->foreign('user_id')->references('id')->on('users')->onDelete; // 删除外键 $table->dropForeign('posts_user_id_foreign');
希望对大家有帮助!
laravel中的数据迁移表结构、字段类型、定义整理相关推荐
- 查看hive中某个表中的数据、表结构及所在路径
查看hive中action_data_myisam表中的数据.表结构及所在路径 1.客户端进入hive环境:hive 2.查看表数据,鉴于数据量大,这里只显示前五条:select * from act ...
- 14亿条记录,12c 做不到2小时内变更表结构字段类型?
导读:本文详细讲述Oracle 12c 在2小时内完成一张14亿条记录的表结构字段类型变更的过程,希望可以帮到工作中的大家,如有任何疑问,欢迎在本文的评论区交流讨论. 概述 Oracle大表在线修改的 ...
- mysql中修改表字段的类型长度_(SQL)修改表结构[字段类型]、表字段长度,
①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ...
- Oracle 12c 能否在2小时内完成一张14亿条记录的表结构字段类型变更
原文链接:https://www.modb.pro/db/22757 概述 前面分享过Oracle大表在线修改的脚本(在线重定义),经过几轮的测试发现,都存在些缺陷,效率始终不是很满意.这次把索引和统 ...
- (SQL)修改表结构[字段类型]、表字段长度,
①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ...
- mysql中清空数据库数据保留表结构
– mysql导出视图以及表结构 #mysqldump -uuser -ppassword --d database_name> database_name_date.sql – 只导出数据不导 ...
- mysql中清空数据库数据保留表结构(史上最简单,一句话搞掉)
这里简单说下我们公司信息化平台在云上部署上线的情景,mysql数据库被分在了测试机和正式机,测试机是开发人员对数据库进行表结构修改例如字段信息的场景,而正式机是对外部的业务,因此正式机的数据是最终使用 ...
- SqlServer清空一个数据库中所有表数据保留表结构
SqlServer将多行查询结果通过逗号拼接成一个字符串 select stuff((select ','+title from tb for xml path('')),1,1,'') --其中tb ...
- 计算机表格中如何计算数据透视表,Excel表格中在数据透视表中添加计算字段的方法...
计算字段是使用数据透视表中的字段同其他内容经过计算后得到的,如果用户需要在数据透视表中自定义计算公式以计算数据,可以通过添加计算字段来实现,下面介绍Excel表格中在数据透视表中添加计算字段的具体操作 ...
最新文章
- 准备把平台挪到linux
- WordPress主题制作函数
- 【攻防演练】蓝方值守阶段经验技巧
- apt-get安装错误积累
- 服务器任务管理器详细信息,任务管理器服务器主机
- 这是一份面向Android开发者的复习指南,成功入职字节跳动
- php三级分销系统制作_微分销商城系统创建三级微商分销体系方法
- Qt QString 与 const char* 类型的转换
- 使用Scrapy,帮你快速抓取网页数据(代码可下载)!
- Wordpress昼夜切换导航主题模板 NDNAV主题
- GPS学习之二:AGPS,GPS,DGPS 认识
- HPE comms CTO:我们的单位在增长,即使我们的客户不是
- 使用CSS3制作水晶按钮
- 数据库系统原理学习笔记三(关系数据模型的组成要素)
- 时代正燃 | 全民健身运动意图大数据报告
- windows 磁盘被写保护怎么办
- MySQL高级--2--黑马
- 搭建个人网站---域名+解析+github
- AES加密解密SHA1、SHA加密MD5加密
- Java设计-微信小程序线上点餐/外卖项目+后台管理系统
热门文章
- PHP - PDO 之 mysql 参数绑定
- Java中的static静态代码块
- android ArcGIS学习笔记一
- Sqlserver别太信任SysComments表中的text字段
- 编程大讲坛、坛坛是佳酿--编程大讲坛:Visual Basic核心开发技术从入门到精通...
- Windows基础评测
- c++ ifstream 文件不结束_C/C++编程笔记:你不知道的windows保存文件的坑
- matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!
- shell unset之后数组元素个数为_PHP删除数组中指定值的元素的方法
- ios 自己服务器 苹果支付_iOS应用内支付(IAP)服务端端校验详解