这是数据库迁移的正确逻辑(使用php)

时间:2014-03-13 16:00:40

标签: php sql multidimensional-array database-migration

这更多的是关于检查我的逻辑,看看我是否理解我的移民理念是否与更有经验的人相同。

我有2个数据库,一个是我当前的网站,一个是我的新开发资料。我现在想要将所有当前的网站数据库加载到我的新开发数据库中。

这些数据库具有不同的模式,在列名方面具有不同的结构,并且在新的开发数据库表中的数据方面有更多的解耦。

要做到这一点,我使用的是php和sql,我可以使用sql将特定的表调用到多维数组中,以获取新开发数据库表所需的所有相关数据。检查是否有重复数据并对其进行排序。

所以现在我有一个多维数组,其中包含了从旧表中提取的新数据库表所需的数据。我已重命名多维数组中的所有键以匹配数据库的名称。所以从技术上讲,我有一个多维数组,它是我要插入数据库的副本。

然后我将这个多维数组插入到新数据库中并让你的叔叔跳过数据库的迁移?

这听起来是否正确,是否有一些建议的阅读,你们女孩们可能会指点我这些?

问候迈克

修改

通过使用多维数组来收集我想要放入新数据库的所有数据,那么我不会对数据进行双重处理,因此我的迁移脚本会使用更多资源吗?

2 个答案:

答案 0 :(得分:1)

我以前从未尝试过这个,但我很确定你可以同时访问2个数据库。也就是说,您可以从DB1中提取您的检查,更改等,然后只需插入新的数据库。

Here is a stack question that does connect to 2 db's

答案 1 :(得分:0)

所以我已经研究过如何创建一个迁移脚本,我认为id会向其他任何必须这样做的人解释如何实现它。请记住,我只是真正使用基本的PHP没有课程或功能,所有程序。我将专注于一个特定的表,并从中可以推断出整个数据库。

1)创建一个专门用于整理这一个表的数据的php文件(例如table1.php)

2)创建您需要提取该特定表的所有相关信息的所有sql语句

3)使用每个sql语句创建一个循环并将从sql语句中获取的所有数据放入数组

4)然后创建循环和一个sql语句,用于插入刚刚填充到新数据库中的数组中的数据。如果你想检查重复数据,只需在这个循环和sql语句中实现这个检查。

5)注意您可以添加计时器和计数器,以检查所需的时间和传输的文件数量以及重复次数。

对于大多数人来说这可能是显而易见的,并且可能被其他人认为是错误的,但我最初的计划是将数据整理到"表等效多维数组"然后将该数组插入表中意味着我是双重处理数据(我认为)。所以我认为以这种方式做得更有效率,而且更简单。

我希望这个基本的大纲可以帮助任何人第一次考虑做同样的事情,如果有人想到如何使这个操作更有效,请随意撕开这个解释。因为这只是我通过追踪和错误实现的,因为我没有真正的经验,这正是我自己编造的。

问候迈克