laravel框架总结(十四) -- 数据迁移和数据填充
1 创建一个迁移
2 迁移结构
3 实施迁移
4 回滚迁移
5 编写迁移
| 命令 | 描述 |
| $table->bigIncrements('id'); | 递增 ID(主键),相当于「UNSIGNED BIG INTEGER」型态。 |
| $table->bigInteger('votes'); | 相当于 BIGINT 型态。 |
| $table->binary('data'); | 相当于 BLOB 型态。 |
| $table->boolean('confirmed'); | 相当于 BOOLEAN 型态。 |
| $table->char('name', 4); | 相当于 CHAR 型态,并带有长度。 |
| $table->date('created_at'); | 相当于 DATE 型态。 |
| $table->dateTime('created_at'); | 相当于 DATETIME 型态。 |
| $table->dateTimeTz('created_at'); | DATETIME (with timezone) 带时区形态 |
| $table->decimal('amount', 5, 2); | 相当于 DECIMAL 型态,并带有精度与基数。 |
| $table->double('column', 15, 8); | 相当于 DOUBLE 型态,总共有 15 位数,在小数点后面有 8 位数。 |
| $table->enum('choices', ['foo', 'bar']); | 相当于 ENUM 型态。 |
| $table->float('amount'); | 相当于 FLOAT 型态。 |
| $table->increments('id'); | 递增的 ID (主键),使用相当于「UNSIGNED INTEGER」的型态。 |
| $table->integer('votes'); | 相当于 INTEGER 型态。 |
| $table->ipAddress('visitor'); | 相当于 IP 地址形态。 |
| $table->json('options'); | 相当于 JSON 型态。 |
| $table->jsonb('options'); | 相当于 JSONB 型态。 |
| $table->longText('description'); | 相当于 LONGTEXT 型态。 |
| $table->macAddress('device'); | 相当于 MAC 地址形态。 |
| $table->mediumInteger('numbers'); | 相当于 MEDIUMINT 型态。 |
| $table->mediumText('description'); | 相当于 MEDIUMTEXT 型态。 |
| $table->morphs('taggable'); | 加入整数 taggable_id 与字符串 taggable_type。 |
| $table->nullableTimestamps(); | 与 timestamps() 相同,但允许为 NULL。 |
| $table->rememberToken(); | 加入 remember_token 并使用 VARCHAR(100) NULL。 |
| $table->smallInteger('votes'); | 相当于 SMALLINT 型态。 |
| $table->softDeletes(); | 加入 deleted_at 字段用于软删除操作。 |
| $table->string('email'); | 相当于 VARCHAR 型态。 |
| $table->string('name', 100); | 相当于 VARCHAR 型态,并带有长度。 |
| $table->text('description'); | 相当于 TEXT 型态。 |
| $table->time('sunrise'); | 相当于 TIME 型态。 |
| $table->timeTz('sunrise'); | 相当于 TIME (with timezone) 带时区形态。 |
| $table->tinyInteger('numbers'); | 相当于 TINYINT 型态。 |
| $table->timestamp('added_on'); | 相当于 TIMESTAMP 型态。 |
| $table->timestampTz('added_on'); | 相当于 TIMESTAMP (with timezone) 带时区形态。 |
| $table->timestamps(); | 加入 created_at 和 updated_at 字段。 |
| $table->uuid('id'); | 相当于 UUID 型态。 |
| 修饰 | 描述 |
| ->first() | 将此字段放置在数据表的「第一个」(仅限 MySQL) |
| ->after('column') | 将此字段放置在其它字段「之后」(仅限 MySQL) |
| ->nullable() | 此字段允许写入 NULL 值 |
| ->default($value) | 为此字段指定「默认」值,你永远不需要显式设置的默认值为 null。不设置它默认值就为null。 |
| ->unsigned() | 设置 integer 字段为 UNSIGNED |
| ->comment('my comment') | 增加注释 |
| 命令 | 描述 |
| $table->primary('id'); | 加入主键。 |
| $table->primary(['first', 'last']); | 加入复合键。 |
| $table->unique('email'); | 加入唯一索引。 |
| $table->unique('state', 'my_index_name'); | 自定义索引名称。 |
| $table->index('state'); | 加入基本索引。 |
| 命令 | 描述 |
| $table->dropPrimary('users_id_primary'); | 从「users」数据表移除主键。 |
| $table->dropUnique('users_email_unique'); | 从「users」数据表移除唯一索引。 |
| $table->dropIndex('geo_state_index'); | 从「geo」数据表移除基本索引。 |
laravel框架总结(十四) -- 数据迁移和数据填充的更多相关文章
- FreeSql (十四)批量更新数据
FreeSql支持丰富的更新数据方法,支持单条或批量更新,在特定的数据库执行还可以返回更新后的记录值. var connstr = "Data Source=127.0.0.1;Port=3 ...
- laravel中的数据迁移和数据填充
laravel中的数据迁移和数据填充 标签(空格分隔): php 生成迁移文件两种方式: 1 新建一个表的迁移文件 php artisan make:migration create_students ...
- laravel框架总结(十) -- 返回值
以前用CI框架对于返回值没有过多关注,但是发现使用laravel框架的时候出现了一些小问题,特意实践总结了一些常用情形,希望对大家有所帮助 先理解几个概念: 1>StdClass 对象=&g ...
- Zookeeper系列(十四)Zookeeper的数据与存储
作者:leesf 掌控之中,才会成功:掌控之外,注定失败. 出处:http://www.cnblogs.com/leesf456/p/6179118.html尊重原创,奇文共欣赏: 一.前言 前 ...
- oracle 数据迁移之数据泵的基本使用
oracle相同数据库下跨schema的表迁移—expdp/impdp 需求:将GUIDO用户下的表迁移到SCOTT用户下 select * from dba_role_privs where GRA ...
- Oracle数据迁移-系统数据合并笔记
创建临时表:execute immediate 'sql'; 通过临时表和关联查询解决循环处理效率低下,大数据操作移植时时间太长的问题. 结构相同的系统数据库表移植,案例如下: create or r ...
- laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完
开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make:model Article -m -m 是 - ...
- 应用程序框架实战十四:DDD分层架构之领域实体(基础篇)
上一篇,我介绍了自己在DDD分层架构方面的一些感想,本文开始介绍领域层的实体,代码主要参考自<领域驱动设计C#2008实现>,另外参考了网上找到的一些示例代码. 什么是实体 由标识来区分的 ...
- laravel框架总结(十二) -- 关联关系
这里我们users表对应的模型类名是users,大家特意注意下和user取名的不同 1.一对一关系 1>表A和表B的记录一一对应,比如一个用户对应一个社交账号 数据表的设计如下: 2> ...
随机推荐
- 线性时间O(n)内求数组中第k大小的数
--本文为博主原创,转载请注明出处 因为最近做的WSN(wireless sensor network)实验要求用3个传感器节点接受2000个包的数据并算出一些统计量,其中就有算出中位数这么一个要求, ...
- p6 备忘录
1.报表执行过程:PROC_PM_RP_Implent,PROC_PM_RP_Implent 2.新增用户无法获取p6 计划,主要是因为没有项目信息.分类码授权(计划分类).
- 给HashMap排序,使之成为有序Map
如何给HashMap中的值排序?这个问题很多人都遇到过,很常见的一个方案是使用LinkedHashMap,因为LinkedHashMap可以记住元素放入的顺序,可以认为是真正的“有序”(想让HashM ...
- DEDE有无缩略图如何调取
同一样式分开调取 [field:array runphp='yes']@me = (strpos(@me['litpic'],'defaultpic') ? "":"&l ...
- Android JavaMail
一.简介 JavaMail API提供了一种与平台无关和协议独立的框架来构建邮件和消息应用程序. JavaMail API提供了一组抽象类定义构成一个邮件系统的对象.它是阅读,撰写和发送电子信息的可选 ...
- 使用NUGet自动下载(还原)项目中使用的包
签出完整项目后,在解决方案名称上点右键,选择"启用NuGet程序包还原",如下图: 出现询问,当然要点是:是 当完成后,会发现在解决方案中,多出".nuget" ...
- C#正则表达式判断输入日期格式是否正确
/// <summary> /// 是否为日期型字符串 /// </summary> /// <param name=&qu ...
- lintcode bugfree and good codestyle note
2016.12.4, 366 http://www.lintcode.com/en/problem/fibonacci/ 一刷使用递归算法,超时.二刷使用九章算术的算法,就是滚动指针的思路,以前写py ...
- 利用Servlet导出Excel
-----因为Excel可以打开HTML文件,因此可以利用页面的Form表单把页面中的table内容提交给Servlet,然后后台把提交上来的table内容转换成文件流的形式,并以下载的形式转给客户端 ...
- (ExtJs 3.4)Ext.Ajax.request的同步请求实现
ext3.0之前都是这样来提交:var responsea = Ext.lib.Ajax.getConnectionObject().conn;responsea.open("POST&qu ...