java - 从旧MySQL数据库迁移数据

标签 java mysql ruby-on-rails stored-procedures backup

我最近将 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/

相关文章:

javascript - js 将数据发布到 Rails 并刷新 View

ruby-on-rails - 设计允许对单个 Controller 操作进行 token 身份验证

java - 在ant中只复制不存在的文件

java - Spring boot 测试失败说,由于缺少 ServletWebServerFactory bean,无法启动 ServletWebServerApplicationContext

java - Hibernate - 访问一对多关联的子元素时出现 NullPointerException

java - 加载其他数据库中的元素(Hibernate/Jpa/Spring)

ruby-on-rails - 在观察者类中使用 image_url 或 image_path

java - spring roo条件数据库请求

php - SUITE CRM 7.5.3 - Windows 7/Apache 2.x/PHP 7/MYSQL5.6 上的安装在数据库配置后挂起

php - 如何从文本区域的值中删除下划线?