最近使用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中的数据迁移表结构、字段类型、定义整理相关推荐

  1. 查看hive中某个表中的数据、表结构及所在路径

    查看hive中action_data_myisam表中的数据.表结构及所在路径 1.客户端进入hive环境:hive 2.查看表数据,鉴于数据量大,这里只显示前五条:select * from act ...

  2. 14亿条记录,12c 做不到2小时内变更表结构字段类型?

    导读:本文详细讲述Oracle 12c 在2小时内完成一张14亿条记录的表结构字段类型变更的过程,希望可以帮到工作中的大家,如有任何疑问,欢迎在本文的评论区交流讨论. 概述 Oracle大表在线修改的 ...

  3. mysql中修改表字段的类型长度_(SQL)修改表结构[字段类型]、表字段长度,

    ①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ...

  4. Oracle 12c 能否在2小时内完成一张14亿条记录的表结构字段类型变更

    原文链接:https://www.modb.pro/db/22757 概述 前面分享过Oracle大表在线修改的脚本(在线重定义),经过几轮的测试发现,都存在些缺陷,效率始终不是很满意.这次把索引和统 ...

  5. (SQL)修改表结构[字段类型]、表字段长度,

    ①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ...

  6. mysql中清空数据库数据保留表结构

    – mysql导出视图以及表结构 #mysqldump -uuser -ppassword --d database_name> database_name_date.sql – 只导出数据不导 ...

  7. mysql中清空数据库数据保留表结构(史上最简单,一句话搞掉)

    这里简单说下我们公司信息化平台在云上部署上线的情景,mysql数据库被分在了测试机和正式机,测试机是开发人员对数据库进行表结构修改例如字段信息的场景,而正式机是对外部的业务,因此正式机的数据是最终使用 ...

  8. SqlServer清空一个数据库中所有表数据保留表结构

    SqlServer将多行查询结果通过逗号拼接成一个字符串 select stuff((select ','+title from tb for xml path('')),1,1,'') --其中tb ...

  9. 计算机表格中如何计算数据透视表,Excel表格中在数据透视表中添加计算字段的方法...

    计算字段是使用数据透视表中的字段同其他内容经过计算后得到的,如果用户需要在数据透视表中自定义计算公式以计算数据,可以通过添加计算字段来实现,下面介绍Excel表格中在数据透视表中添加计算字段的具体操作 ...

最新文章

  1. 准备把平台挪到linux
  2. WordPress主题制作函数
  3. 【攻防演练】蓝方值守阶段经验技巧
  4. apt-get安装错误积累
  5. 服务器任务管理器详细信息,任务管理器服务器主机
  6. 这是一份面向Android开发者的复习指南,成功入职字节跳动
  7. php三级分销系统制作_微分销商城系统创建三级微商分销体系方法
  8. Qt QString 与 const char* 类型的转换
  9. 使用Scrapy,帮你快速抓取网页数据(代码可下载)!
  10. Wordpress昼夜切换导航主题模板 NDNAV主题
  11. GPS学习之二:AGPS,GPS,DGPS 认识
  12. HPE comms CTO:我们的单位在增长,即使我们的客户不是
  13. 使用CSS3制作水晶按钮
  14. 数据库系统原理学习笔记三(关系数据模型的组成要素)
  15. 时代正燃 | 全民健身运动意图大数据报告
  16. windows 磁盘被写保护怎么办
  17. MySQL高级--2--黑马
  18. 搭建个人网站---域名+解析+github
  19. AES加密解密SHA1、SHA加密MD5加密
  20. Java设计-微信小程序线上点餐/外卖项目+后台管理系统

热门文章

  1. PHP - PDO 之 mysql 参数绑定
  2. Java中的static静态代码块
  3. android ArcGIS学习笔记一
  4. Sqlserver别太信任SysComments表中的text字段
  5. 编程大讲坛、坛坛是佳酿--编程大讲坛:Visual Basic核心开发技术从入门到精通...
  6. Windows基础评测
  7. c++ ifstream 文件不结束_C/C++编程笔记:你不知道的windows保存文件的坑
  8. matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!
  9. shell unset之后数组元素个数为_PHP删除数组中指定值的元素的方法
  10. ios 自己服务器 苹果支付_iOS应用内支付(IAP)服务端端校验详解