ThinkPHP-数据库迁移和填充(二)

2023-05-02 18:51:08 浏览数 (2)

数据库填充

数据库填充是一种初始化数据库数据的方法。在开发过程中,经常需要填充一些测试数据或者默认值,使用数据库填充可以方便地进行数据初始化。

创建填充文件

在ThinkPHP中,可以使用make:seeder命令来创建填充文件。例如,要创建一个名为UsersTableSeeder的填充文件,可以执行如下命令:

代码语言:javascript复制
php think make:seeder UsersTableSeeder

执行该命令后,将在database/seeds目录下创建一个新的填充文件,文件名为UsersTableSeeder.php

在该文件中,可以使用run方法来定义要填充的数据。例如,以下是一个填充users表的示例:

代码语言:javascript复制
<?php
use thinkseederSeeder;

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        $data = [
            [
                'username' => 'admin',
                'password' => password_hash('password', PASSWORD_DEFAULT),
                'email' => 'admin@example.com',
                'status' => 1,
                'created_at' => date('Y-m-d H:i:s'),
                'updated_at' => date('Y-m-d H:i:s'),
            ],
            [
                'username' => 'user1',
                'password' => password_hash('password', PASSWORD_DEFAULT),
                'email' => 'user1@example.com',
                'status' => 1,
                'created_at' => date('Y-m-d H:i:s'),
                'updated_at' => date('Y-m-d H:i:s'),
            ],
            [
                'username' => 'user2',
                'password' => password_hash('password', PASSWORD_DEFAULT),
                'email' => 'user2@example.com',
                'status' => 1,
                'created_at' => date('Y-m-d H:i:s'),
                'updated_at' => date('Y-m-d H:i:s'),
            ],
        ];

        $this->table('users')->insert($data)->save();
    }
}

在上面的示例中,run方法中定义了要填充的数据,包括添加了3个用户。其中,使用了table方法来指定要操作的表,使用了insert方法来插入数据,并使用了save方法来保存数据。

0 人点赞