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