我最近将 Java EE Web 应用程序(在 MySQL 数据库上运行)重写为 Rails 3.1。现在的问题是,新应用程序的数据库模型与旧应用程序不一样,因为我添加、删除和重命名了一些属性。数据库表名也不同。
有办法迁移这些数据吗?我能想到的唯一方法是编写一个包含许多 ALTER TABLE 和 CREATE TABLE 语句的存储过程,以将数据库更新到新模型。
提前致谢。
解决方案:
我最终在mysql存储过程中使用INSERT..SELECT语句来迁移数据。插入 new_schema.new_table 从 old_schema.old_table 中选择。我现在正在考虑创建一个 Rake 任务来调用该过程并执行其他操作。
最佳答案
唯一的方法是编写一个脚本,从旧数据库中获取数据并将其插入新数据库中。或者您可以以某种方式连接到两个数据库,然后进行一些选择和插入查询,例如
insert into new_db.table as select old_db.table.field1, ....
或
insert into new_db.table (field_1, field_2) values (select old_db.table.field_1, ...)
无论如何,这是一个手动过程,也可以通过脚本在某种程度上实现自动化
关于java - 从旧MySQL数据库迁移数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8858621/