从旧数据库结构中获取数据、用php修复数据并上传到新模式的最佳方法
我们为旧应用程序创建了一个新的db模式,该应用程序当前在一个包含多个列的表中有4375987行。我必须将旧数据迁移到新的db模式,该模式将从一个表中获取数据,并将插入多个db表中。 我需要知道最好的方法。我应该直接用PHP或其他解决方案编写脚本。旧数据库有非常大的数据从旧数据库结构中获取数据、用php修复数据并上传到新模式的最佳方法,php,mysqli,Php,Mysqli,我们为旧应用程序创建了一个新的db模式,该应用程序当前在一个包含多个列的表中有4375987行。我必须将旧数据迁移到新的db模式,该模式将从一个表中获取数据,并将插入多个db表中。 我需要知道最好的方法。我应该直接用PHP或其他解决方案编写脚本。旧数据库有非常大的数据 请导游,谢谢 使用函数将行拆分。然后获取返回结果的每一部分并进行插入: 看 因此,您现在可以获取该数据并为每个表进行插入。希望这能让你走起来!:-) 最好的方法是写一些东西,看看它是否有效。你只需要做一次,只要它工作,谁在乎它是超
请导游,谢谢 使用函数将行拆分。然后获取返回结果的每一部分并进行插入: 看
因此,您现在可以获取该数据并为每个表进行插入。希望这能让你走起来!:-) 最好的方法是写一些东西,看看它是否有效。你只需要做一次,只要它工作,谁在乎它是超级光滑还是抛光。或者你真的是在说,我不知道怎么做,你能为我做吗?不,不必一次又一次地做。必须与团队核实数据。我不想挂起我的生产服务器。我想要一个最好的解决方案。为什么在生产服务器上进行一个简单的查询会导致任何问题呢?考虑到您的声誉,您应该更清楚,而不是问一个基于意见、未经研究、示例和尝试的问题。请提供代码,您尝试了什么,出了什么问题,您期望得到什么?我假设您定期备份live数据库。将有问题的表恢复到新数据库并在新数据库上执行所有转换如何。这样你就不用看实时数据库了
<?php
$old = [
'name' => 'Dave',
'dob' => '1970-01-01',
'blah' => 'blah',
];
function convertRow($row)
{
$new = [
'table1' => [
'name' => $row['name'],
'dob' => $row['dob'],
],
'table2' => [
'blah' => $row['blah'],
],
];
return $new;
}
$data = convertRow($old);
// Now do your inserts
$firstTableData = $data['table1'];
$secondTableData = $data['table2'];
var_dump($firstTableData, $secondTableData);
array(2) { ["name"]=> string(4) "Dave" ["dob"]=> string(10) "1970-01-01" }
array(1) { ["blah"]=> string(4) "blah" }