我现在有了数据库的新结构,但是我需要以新格式导入旧数据。因此,我想使用Laravel播种器,但是我需要以某种方式连接到旧数据库并进行选择查询,并告诉播种器如何将数据放入新数据库中。

那可能吗 ?

最佳答案

配置您的laravel应用程序以使用两个mysql连接(How to use multiple database in Laravel),一个用于新数据库,另一个用于旧数据库。

我会像oldnew一样伪造它。

在您的种子中,从旧数据库中读取并写入新数据库。

$old_user = DB::connection('old')->table('users')->get();

foreach ($old_users as $user) {
     DB::connection('new')->table('users')->insert([
         'name'     => $user->name,
         'email'    => $user->email,
         'password' => $user->password,
         'old_id'   -> $user->id
         // ...
     ]);
}

确保在播种时添加消息,例如$this->command->info('Users table seeded');或进度条(您可以访问命令行方法),以了解导入的时间。

关于mysql - 现有数据库中的Laravel种子数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39626732/

10-09 00:35
查看更多