如何使用laravel从旧数据库表中的数据填充新表?两个数据库都有不同的结构。有没有可能用拉氏播种法?
最佳答案
您可以在laravel中使用multiple database connections连接到两个数据库。
config/database.php配置
return [
'connections' => [
'old_db' => [
'driver' => 'mysql',
'host' => env('DB_HOST_OLD'),
'database' => env('DB_DATABASE_OLD'),
'username' => env('DB_USERNAME_OLD'),
'password' => env('DB_PASSWORD_OLD'),
],
'new_db' => [
'driver' => 'mysql',
'host' => env('DB_HOST'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
],
],
];
然后在seed文件中,您可以连接到旧数据库并循环这些项并将它们插入到新数据库中
usertableseeder.php
$users = DB::connection('old_db')->table('users')->get();
foreach($users as $user){
DB::connection('new_db')->table('users')->insert([
'name' => $user->username, //different fieldnames
'email' => $user->emailaddress, //different fieldnames
]);
}
关于php - Laravel旧表中的数据库种子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31162607/