我现在有了数据库的新结构,但是我需要以新格式导入旧数据。因此,我想使用Laravel播种器,但是我需要以某种方式连接到旧数据库并进行选择查询,并告诉播种器如何将数据放入新数据库中。
那可能吗 ?
最佳答案
配置您的laravel应用程序以使用两个mysql连接(How to use multiple database in Laravel),一个用于新数据库,另一个用于旧数据库。
我会像old
和new
一样伪造它。
在您的种子中,从旧数据库中读取并写入新数据库。
$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/