我目前正在将 Web 应用程序从一个平台迁移到另一个平台,迁移的一部分涉及将数据从 Postgres DB 移动到 MySQL DB。表结构不会相同,所以我想知道对于将表内容(但不移动结构)从一个数据库移动到另一个数据库,有哪些建议?我的意思是将给定表中的所有行数据移动到不共享相同表结构的不同数据库的不同表的不同行。该应用程序相当小,这将是一次性迁移,所以我不介意每行都手动执行该过程。
我对 SQL 的了解程度刚好够危险,所以我一直在研究新手可以使用哪些工具。我可以在 Navicat 中做到这一点吗?任何建议都将不胜感激。
答案1
我将使用的方法将基于新结构。对于新结构中的每个表,提出一个 SQL 查询,从旧结构中提取数据并将其放入基本 CSV 格式,然后导入到新结构中。我忽略了诸如确保键匹配、确保您始终获得具有新结构的数据集的相同表示等内容。
答案2
Pentaho Kettle、Talend Studio 和 CloverETL 等工具就是用于这种事情的;工具的一般类别是 ETL(“提取;转换;加载”)。
不幸的是,他们的学习曲线非常陡峭,因此,COPY
正如 John 建议的那样,只需编写一些查询来提取 CSV 并将其放入新的数据库中可能会更简单。