【发布时间】:2012-06-06 20:03:59
【问题描述】:
我需要将一些数据从一个 MYSQL 数据库迁移到另一个数据库,但问题是表和行会有所不同,因为它来自自定义 DB 结构或 drupal 7 CMS。
有没有一种简单的方法可以做到这一点,或者是否有任何工具可以将数据映射到新结构?
我对这两个数据库都有完全访问权限。
非常感谢任何建议。
【问题讨论】:
我需要将一些数据从一个 MYSQL 数据库迁移到另一个数据库,但问题是表和行会有所不同,因为它来自自定义 DB 结构或 drupal 7 CMS。
有没有一种简单的方法可以做到这一点,或者是否有任何工具可以将数据映射到新结构?
我对这两个数据库都有完全访问权限。
非常感谢任何建议。
【问题讨论】:
如果您只是复制数据,则可以使用标准转储,如下所示:
mysqldump -hhostname -uusername -ppassword olddbname \
| mysql -hhostname -uusername -ppassword newdbname
但是,如果您必须将数据转换为与 Drupal 7 兼容的数据,您真的需要编写一些自定义的 INSERT…SELECTs 来进行转换。
您可能想查看 Drupal 的 feeds module,它可以从 CSV 和其他格式导入数据。 Feeds 目前正式处于“alpha”阶段,但仍在广泛使用,如果您遇到错误,最好将其报告(甚至修复,如果您觉得有时间为项目)。
drupal.org 上还有各种 Drupal 模块,可帮助您从 CSV 或其他来源导入分类、用户等。尝试一下,让我们知道您有什么问题。
【讨论】:
也许使用 GUI DB 管理器会对您有所帮助??
你可以试试navicat:navicat.com
【讨论】:
您是否考虑过将文件从 mysql 导出为 CSV 并将其导入到 drupal?我对 Drupal 7 不太熟悉,但我相信您可以通过这种方式映射字段和表格。
【讨论】:
将实际数据导出到 .csv 文件(或您要导入的部分数据)并使用 Feeds 模块 (https://www.drupal.org/project/feeds)。它允许通过 GUI 将 .csv 字段映射到 Drupal 实体字段,还允许删除和重新运行导入。很有用。
【讨论】: