laravel命令行数据库迁移、数据填充

文章目录

  • 一、数据库迁移
    • 1.生成迁移
    • 2.迁移结构
    • 3.运行迁移
    • 4.回滚迁移
  • 二、数据填充
    • 1、生成test对应的factory(工厂模型)
    • 2. 生成TestSeeder
    • 3、配置填充器DatabaseSeeder
  • 总结


一、数据库迁移

1.生成迁移

	//这里创建的表为test表
	php artisan make:migration create_test_table --create=test

新创建的迁移文件存在 database/migrations 目录下

2.迁移结构

一个迁移类包含两个方法 updown。up 方法用于新增数据库的数据表、字段和索引,而 down 方法是执行撤销。
如下图:
laravel命令行数据库迁移、数据填充_第1张图片
关于字段创建、字段修改可以查看这个链接:https://learnku.com/docs/laravel/7.x/migrations/7496#9caecd
不在过多赘述。

3.运行迁移

	//生成数据表
	php artisan migrate

4.回滚迁移

rollback此命令回滚到最后一批的迁移, --step=5 回滚最近5次的迁移,可以查看数据库中的migrations这张表,根据需要回滚指定次数。

	//回滚最近5次操作
  php artisan migrate:rollback --step=5

二、数据填充

1、生成test对应的factory(工厂模型)

	//生成test表数据对应的工厂
	php artisan make:factory TestFactory

laravel命令行数据库迁移、数据填充_第2张图片
这里根据 test表 的数据结构生成对应类型的数据 。
Faker是一个php库,可以为你生成虚假数据,准确的查找途径:https://github.com/fzaninotto/Faker

2. 生成TestSeeder

	//生成TestSeeder
	php artisan make:seeder TestSeeder

新创建的文件生成在 database/seeders 目录下,生成如图代码

1、引入test表的model
2、model去调用factory(工厂模型)配置需要填充的数据

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\Test;

class TestSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Test::factory()->count(20)->create();
    }
}

3、配置填充器DatabaseSeeder

laravel命令行数据库迁移、数据填充_第3张图片
将需要填充数据的表写入默认填充器 databaseSeeder 类中,执行命令进行填充

	//执行该命令,将填充run方法中的所有表
	php artisan db:seed
	//执行该命令,将填充--class指定的test表。
	php artisan db:seed --class=TestSeeder

总结

提示:TestSeeder中要引入 对应的 model,否则调用错误

1、流程 ① 创建表,②生成表model,③创建表的工厂模型,④创建填充表的命令,⑤配置填充器
2、factory 中对应的工厂模型是开发人员手动创建的,不要忘记创建配置。

你可能感兴趣的:(php,laravel,数据库,功能测试)