laravel数据表的迁移与填充

本文介绍了Laravel框架中的数据表迁移和填充操作。首先,通过`php artisan make:migration create_paper_table`创建迁移文件,接着讲解了如何在`up`和`down`方法中定义数据表结构,包括不同类型的列。然后,讨论了数据填充,用于在测试环境中向数据表写入数据。整个过程中强调了必须先进行迁移再进行填充。
摘要由CSDN通过智能技术生成

迁移: 创建数据表,删除数据表,修改数据表。
填充: 往数据表里填充写入测试的数据。
一定是先迁移再填充
1.迁移
在laravel文件目录下打开命令行窗口,输入
php artisan make:migration create_paper_table
migration(迁移文件名)在这里插入图片描述
创建成功
在这里插入图片描述
(up方法是创建表,down方法是删除表)
$table->bigIncrements(‘id’);
t a b l e 表 的 实 例 − > 列 类 型 方 法 ( 字 段 名 , [ 长 度 / 范 围 值 ] ) − > 修 饰 方 法 ( [ 修 饰 方 法 值 ] ) 列 类 型 方 法 和 修 饰 方 法 的 编 写 顺 序 不 可 以 转 换 ∗ ∗ ! [ 在 这 里 插 入 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / 20200507172731840. p n g ? x − o s s − p r o c e s s = i m a g e / w a t e r m a r k , t y p e Z m F u Z 3 p o Z W 5 n a G V p d G k , s h a d o w 1 0 , t e x t a H R 0 c H M 6 L y 9 i b G 9 n L m N z Z G 4 u b m V 0 L 3 F x X z Q z N j g z M T I 0 , s i z e 1 6 , c o l o r F F F F F F , t 7 0 ) 创 建 列 的 可 用 类 型 ∗ ∗ table表的实例->列类型方法(字段名,[长度/范围值])->修饰方法([修饰方法值]) 列类型方法和修饰方法的编写顺序不可以转换** ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200507172731840.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjgzMTI0,size_16,color_FFFFFF,t_70) 创建列的可用类型 ** table>[/]>[]![](https://imgblog.csdnimg.cn/20200507172731840.png?xossprocess=image/watermark,typeZmFuZ3poZW5naGVpdGk,shadow10,textaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjgzMTI0,size16,colorFFFFFF,t70)table->bigIncrements(‘id’); 自增ID,类型为bigint
$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->decimal(‘amount’, 5, 2); 等同于数据库中的DECIMAL类型,带一个精度和范围
$table->double(‘column’, 15, 8); 等同于数据库中的DOUBLE类型,带精度, 总共15位数字,小数点后8位.
$table->enum(‘choices’, [‘foo’, ‘bar’]); 等同于数据库中的 ENUM类型
$table->float(‘amount’); 等同于数据库中的 FLOAT 类型
$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->mediumIncrements(‘id’); 自增ID,类型为无符号的mediumint
$table->mediumInteger(‘numbers’); 等同于数据库中的 MEDIUMINT类型
$table->mediumText(‘description’); 等同于数据库中的 MEDIUMTEXT类型
$table->morphs(‘taggable’); 添加一个 INTEGER类型的 taggable_id 列和一个 STRING类型的 taggable_type列
$table->nullableTimestamps(); 和 timestamps()一样但允许 NULL值.
$table->rememberToken(); 添加一个 remember_token 列: VARCHAR(100) NULL.
$table->smallIncrements(‘id’); 自增ID,类型为无符号的smallint
$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 类型(带时区)
$table->tinyInteger(‘numbers’); 等同于数据库中的 TINYINT 类型
$table->timestamp(‘added_on’); 等同于数据库中的 TIMESTAMP 类型
$table->timestampTz(‘added_on’); 等同于数据库中的 TIMESTAMP 类型(带时区)
$table->timestamps(); 添加 created_at 和 updated_at列
$table->timestampsTz(); 添加 created_at 和 updated_at列(带时区)
$table->unsignedBigInteger(‘votes’); 等同于数据库中无符号的 BIGINT 类型
$table->unsignedInteger(‘votes’); 等同于数据库中无符号的 INT 类型
$table->unsignedMediumInteger(‘votes’); 等同于数据库中无符号的 MEDIUMINT 类型
$table->unsignedSmallInteger(‘votes’); 等同于数据库中无符号的 SMALLINT 类型
$table->unsignedTinyInteger(‘votes’); 等同于数据库中无符号的 TINYINT 类型
$table->uuid(‘id’); 等同于数据库的UUID

列修改器:

->after(‘column’) 将该列置于另一个列之后 (仅适用于MySQL)
->comment(‘my comment’) 添加注释信息
->default( v a l u e ) 指 定 列 的 默 认 值 − > f i r s t ( ) 将 该 列 置 为 表 中 第 一 个 列 ( 仅 适 用 于 M y S Q L ) − > n u l l a b l e ( ) 允 许 该 列 的 值 为 N U L L − > s t o r e d A s ( value) 指定列的默认值 ->first() 将该列置为表中第一个列 (仅适用于MySQL) ->nullable() 允许该列的值为NULL ->storedAs( value)>first()(MySQL)>nullable()NULL>storedAs(expression) 创建一个存储生成列(只支持MySQL)
->unsigned() 设置 integer 列为 UNSIGNED
->virtualAs($expression) 创建一个虚拟生成列(只支持MySQL)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值