📅  最后修改于: 2023-12-03 14:43:49.240000             🧑  作者: Mango
Laravel 种子迁移(Seed Migration)是 Laravel 框架中的一种数据填充方式,用于数据库中预先填充数据,以便在开发、测试和演示过程中使用。本篇文章将介绍 Laravel 种子迁移的一些基本概念以及使用方法。
在学习 Laravel 种子迁移之前,必须先熟悉如何在 Laravel 中创建数据库迁移。
要创建种子迁移,可以使用以下 Artisan 命令:
php artisan make:seeder UserSeeder
上面的命令将在 database/seeds
目录下创建一个名为 UserSeeder
的种子迁移文件。在该文件中,您可以使用 run
方法填充数据库。
public function run()
{
DB::table('users')->insert([
'name' => 'John Doe',
'email' => 'john@example.com',
'password' => Hash::make('password'),
]);
}
上面的示例将创建一个名为 users
的表并在该表中插入一行数据。
要运行种子迁移,可以使用以下 Artisan 命令:
php artisan db:seed [--class[=CLASS]] [--database[=DATABASE]] [--force] [--no-interaction] [--pretend] [--seed]
如果没有指定 --class
选项,则将运行所有种子迁移。如果指定了 --class
选项,则只运行指定的种子迁移。
php artisan db:seed --class=UserSeeder
上面的命令将运行名为 UserSeeder
的种子迁移。
以下示例演示如何在 Laravel 中使用种子迁移创建一个名为 roles
的表并填充数据:
<?php
use Illuminate\Database\Seeder;
class RoleSeeder extends Seeder
{
public function run()
{
DB::table('roles')->insert([
['name' => 'admin'],
['name' => 'editor'],
['name' => 'user'],
]);
}
}
将该文件保存为 RoleSeeder.php
并运行以下 Artisan 命令:
php artisan db:seed --class=RoleSeeder
这将创建一个名为 roles
的表,并在该表中插入三个行,分别表示 admin
、editor
和 user
角色。
Laravel 种子迁移是一种便捷的数据填充方式,可用于在开发、测试和演示过程中填充数据库。本篇文章介绍了种子迁移的创建、运行和示例,希望对您在使用 Laravel 时有所帮助。