Laravel 生成migration ,boolean字段字段转为tinyInteger
Schema::create('consults', function (Blueprint $table) {
$table->increments('id');
$table->string('sex');
$table->unsignedInteger('birth_year');
$table->string('phone', 150);
$table->string('discomfort')->comment('');
$table->string('disease_condition')->comment('');
$table->string('help')->comment('');
$table->boolean('state')->default(false)->comment('true:已回复; false:待回复');
$table->boolean('is_read')->comment('');
$table->timestamps();
$table->unsignedInteger('user_id')->nullable();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});

列类型
在前面的示例中,我们指定的名称列的类型为"string"。但这是什么意思?数据库中通常没有”string”类型的列。
请记住,Laravel 试图使您的应用程序独立于底层的数据库;例如,如果你想,你可以使用 MySql 开发并部署到 Postgresql。如果您在迁移中使用 MySql 的列类型,应用到 Postgres 数据库可能无法工作。所以,Laravel 迁移通过使用通用的数据类型使你与底层的数据库类型系统隔离。如果我们要迁移 MySql 数据库, string()方法将创建VARCHAR(255)类型的列。在 Postgres,同一迁移可能会添加CHAR VARYING(255)类型的列 (虽然VARCHAR类型支持所有主要的数据库平台)。
Laravel 直接支持以下数据类型:
|
Laravel 方法 |
列的类型 |
|
increments($column) |
向表中添加自动递增的主键 |
|
string($column) |
添加一个VARCHAR(255)列 |
|
string($column, $length) |
添加具有长度的VARCHAR |
|
integer($column) |
向表中添加一个INTEGER列, |
|
float($column) |
向表中添加一个FLOAT的列 |
|
decimal($column, $precision, $scale) |
添加一个DECIMAL列的精度和小数位数。精度是总数中数字的位数。规模是小数点的右侧的位数。例如,数 123.45 具有精度为 5 和 2 的小数。从逻辑上讲,规模不能大于精度。 |
|
boolean($column) |
向表中添加一个BOOLEAN的列。注意: 存储布尔值的方式而有所不同从一个数据库到另一个数据库。一些使用"1"和"0"的整数值来表示 true 和 false,个别的,其他人使用"T"和"F"等字符。Laravel 的"boolean"类型映射到数据库的所有系统上的small integer列。Laravel 很好的处理 PHP 的true与false之间的映射,所以你不需要担心。 |
|
text($column) |
相当于表的TEXT |
|
blob($column) |
相当于表的BLOB |
|
binary($column) |
相当于表的BINARY |
|
dateTime($column) |
相当于表DATETIME |
|
timestamp($column) |
相当于表TIMESTAMP |
|
date($column) |
相当于表的DATE |
|
time($column) |
相当于表的TIME |
|
enum($column, array $allowed) |
在表上创建一个新的ENUM列 |
此外,还有几个你需要知道的扩展方法:
|
Laravel 方法 |
列的类型 |
|
timestamps() |
timestamps()与timestamp()不同。它是一个 Laravel 用来管理创建和修改作为created_at和updated_at TIMESTAMP列的便利方法。他们是 Laravel 可以自己修改的两个特殊的数据库列。created_at列为仅当行被创建时当前时间戳。另一方面, updated_at被修改为每次操作的行的数据时当前时间戳。 |
|
nullable() |
将指定列允许NULL值。默认情况下,Laravel 使在数据库级别需要通过添加NOT NULL约束的列。 |
|
default($value) |
设置要用于新行作为初始值的列的默认值。你永远不需要显式设置的默认值为 null。不设置它默认值就为null。 |
|
unsigned() |
设置INTEGER列为UNSIGNED。 |
Laravel 生成migration ,boolean字段字段转为tinyInteger的更多相关文章
- Spring表单参数绑定中对“is”开头的boolean类型字段的的处理
之前在新浪微博上面发了一个微薄: 弱弱的发现在定义boolean类型的时候最好不要使用“is”开头,可以避免一些问题哦 然后有一些朋友朋友问我为什么,当时比较忙,现在写篇文章举一个例子,回复一下这个问 ...
- Oracle生成查询包含指定字段名对应的所有数据表记录语句
应用场合:已知字段名字,查询数据库中所有数据表中包含该字段名的所有数据表 操作办法:指定字段名,数据库表用户,执行下面查询语句即可 --Oracle生成查询包含指定字段名对应的所有数据表记录语句 de ...
- mysql下sql语句 update 字段=字段+字符串
mysql下sql语句 update 字段=字段+字符串 mysql下sql语句令某字段值等于原值加上一个字符串 update 表明 SET 字段= 'feifei' || 字段; (postgr ...
- laravel生成key失败
laravel生成key失败 生成KEY失败.原因是没有复制.env文件 In KeyGenerateCommand.php line 96: file_get_contents(D:\project ...
- 动软Model 模板 生成可空类型字段
动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...
- 关于Entity Framework 5 从数据库生成模型时没有字段注释的解决方法!
目前用到了EF5进行模型创建,发现从数据库生成过来的实体中并没有包含字段的说明信息(鄙视下微软,这么简单的问题都不给解决下,太粗枝大叶了),网上找到了EFTSQLDocumentation.Gener ...
- abp 修改abp.zero的实体映射类,使生成的表和字段为大写状态
在我们项目中,由于涉及到报表配置管理,可以通过一段sql快捷的配置出一个报表页面.部分sql会与abp框架的一些系统表做关联查询,而abp的映射类没有单独设置表和字段的名称,默认用类名和属性名,区分大 ...
- 去掉PowerDesigner生成SQL脚本中字段名带的引号
使用PowerDesigner生成数据库建表SQL脚本时,尤其是Oracle数据库时,表名一般会带引号.其实加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照ORACL ...
- Spring boot 搭配 JPA 生成表注释 和 字段注释
原文地址:https://blog.csdn.net/qq_39996837/article/details/84717748 由于在数据库表反向生成过程中呢,需要通过jpa自动生成表,并且这个表必须 ...
随机推荐
- spring Jackson 配置笔记
配置代码 // 设置输出时包含属性的风格 this.findAndRegisterModules(); this.setSerializationInclusion(JsonInclude.Inclu ...
- 安装Java和Tomcat
安装Java 下载java源码包 安装的是JDK8,下载地址如下:下载链接 注意,不要在服务器中使用wget来下载jdk,因为oracle会认为你是爬虫,下载的文件不是jdk,而是一个html文件. ...
- CentOS 7 常用命令
1.防火墙 yum install firewalld #安装firewalld 防火墙 systemctl start firewalld.service #开启防火墙 systemctl stop ...
- CKEditor 4.5 filetools, XHR.withCredentials = true,
var editor = CKEDITOR.replace( 'editor1', { extraPlugins: 'uploadimage,filetools', imageUploadUrl: ' ...
- Web App架构
Web App 架构分为两种:一种是工程架构,一种是项目架构. 工程架构则主要有以下几个方面的内容: 1, 解放生产力,我们希望在开发项目的过程中把全部目光都放到书写业务代码上,不需要去考虑一些重复性 ...
- [模板] 区间mex && 区间元素种数
区间mex 问题 给定序列\({a_i}\), 每次询问给出\(l\), \(r\), 询问 \(\text{mex} \{a_i\}, i \in \{l, l+1, \cdots r\}\) 解法 ...
- 读取Excel2003、Excel2007或更高级的兼容性问题 workbook 下载中文名称文件
xls 使用HSSFWorkbook xlsx使用XSSFWorkbook 但是我使用XSSFWorkbook时没找到nuget包,引用不了,只能重新找办法,幸好workbook解决了我这个问题 // ...
- C. New Year and Rating 差分方程 思维
题意: 一个CF玩家打CF 给出其比赛列表和上分(掉分)情况 ,但是没给初始分 问最后最高分是多少 (情况不存在,或者可能无穷大) 思路: 设初始分为x 那么之前的回合的分数前缀和为sum 如 ...
- 11.2 Flask 配置文件,路由系统
配置文件系统 构建 Flask 应用时指定 app = Flask( __name__, template_folder = '', # 指定存储模板文件夹名称 static_url_path = ' ...
- Hdoj 2149.Public Sale 题解
Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没有拿到奖学金.现在等待他的,就是像FarmJohn一样的农田生涯. 要种田得有田才行,Le ...