Vin*_*ter 5 mysql laravel laravel-seeding
我现在有了数据库的新结构,但是我需要以新格式导入旧数据。因此,我想使用Laravel播种器,但是我需要以某种方式连接到旧数据库并进行选择查询,并告诉播种器如何将数据放入新数据库中。
那可能吗 ?
小智 8
尝试: 示例:
php artisan iseed my_table
php artisan iseed my_table,another_table
Run Code Online (Sandbox Code Playgroud)
访问:https : //github.com/orangehill/iseed
将您的 Laravel 应用程序配置为使用两个 mysql 连接(如何在 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
// ...
]);
}
Run Code Online (Sandbox Code Playgroud)
确保在播种时添加消息,$this->command->info('Users table seeded');
甚至进度条(您可以访问命令行方法)以了解您在导入的哪个点。