13_Laravel数据表的迁移与填充

迁移文件的创建与编写

迁移文件默认的位置:database/migrations
这两个文件不需要,可以给它删除掉。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DpRR8kSb-1584256808002)(images)]

命名规范

create_名字_table.php

创建迁移文件

php artisan make:migration 迁移文件名

创建完成之后,打开,发现有up和down方法

Up方法表示创建数据表的方法
都是固定格式,后期只需要变动表名和字段就好了。
我的表名:relation

public function up()
{
    Schema::create('relation',function(Blueprint $table) {
        // 这里是你要创建的字段
        $table -> increments('id');
        $table -> tinyInteger('article_id');
        $table -> tinyInteger('key_id');
    });
}

在创建字段时要遵循语法:

$table -> 列类型方法(字段名,[长度/值范围]) -> 列修饰方法([修饰的值]);

列类型方法:数据类型
  • $table -> string(’’) // 相当于varchar类型
  • $table -> string(’’,$num) // 相当于varchar,且带了一个长度
  • $table -> increments(’’) // 主键自增ID
  • $table -> tinyInteger(’’) // 相当于tinyint类型
  • $table -> integer(’’) // 相当于integer类型
  • $table -> enum(’’,[]) // 相当于ENUM
列修饰方法:例如有些列不能为空,或者有默认值等等
  • comment(’’) // 添加注释
  • default($value) // 默认值
  • nullable() // 允许为NULL
  • unsigned() // 设置integer列为unsigned
    Down方法表示删除数据表的方法
public function down()
{
    Schema::dropIfExists('relation');
}

执行迁移文件

执行up方法。
如果在当前的项目中第一次执行迁移文件的话,则需要先去执行:

php artisan migrate:install
在执行过上述的命令之后,在数据表中会多出一个数据表,migrations

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ymMCH9ZR-1584256808007)(images)]

migrations表的作用是:用于创建记录迁移文件的记录数据表。

Down方法执行:(回滚操作,删除数据表)

php artisan migrate:rollback
回滚最后一次的迁移操作,回滚操作不删除迁移文件

删除(回滚)之后会删除上一个批次的迁移记录,并且同批次建立的数据表也会删除,但是迁移文件依旧存在,方便后期继续迁移(创建数据表)。

批次号:同一次被执行的多个迁移文件其批次号相同。

针对迁移文件名的提示:如果迁移文件已经创建好并且执行了,就不要去修改迁移文件的名称,容易出错的。

数据表填充器

说白了就是添加数据

填充器默认位置:database/seeds

命名规范

大写表名+TableSeeder

创建填充器

php artisan make:seeder 填充器名称

注意事项

  1. 在填充器文件中可以使用DB门面去新增数据,但是需要注意,DB门面在使用的时候不需要用户自己引入,一旦引入则报错,可以直接使用。

执行填充器文件

php artisan db:seed --class=需要执行的种子文件名(不带.php)

特别提醒:“=”两边不要有空格哟~

发布了22 篇原创文章 · 获赞 16 · 访问量 1599

猜你喜欢

转载自blog.csdn.net/qq_43098197/article/details/104879347