2014-10-09 65 views
0

我有一个任务,可以将旧数据从旧数据库导入到新的Rails应用程序。旧程序在Delphi中创建并过时,所以客户决定创建Rails应用程序来替换它。我有转储文件,我现在创建本地的MySQL数据库,并在那里插入过去8年的数据(MySQL已经工作了一个多小时):)Rails 4.从旧数据库迁移(一些)旧数据库数据到现有的数据库DataBase

现在我不知道应该导入旧数据的方式。问题是旧的数据库表和列的名称与我在App中的名称不同,并且存在许多未使用和不需要的列/表。所以我只需要选择其中的一部分并插入到应用程序数据库中。你能否建议这个案例的最佳解决方案?

预先感谢您!

回答

1

您可以调整旧的数据库到Rails应用程序,并用它

工作,让我们想象一下,你已经老了DB下表old_posts

old_posts 
________________________________________ 
sysid | name   | description  | 
_______________________________________ 
     |    |     | 
1  | The best post| Some description | 
_______________________________________ 
     |    |     | 
2  | Another post| Another descrip | 
________________________________________ 

在轨可以定义table_name在文档 更多信息:

http://api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-table_name

您也可以redifi http://api.rubyonrails.org/classes/Module.html#method-i-alias_attribute

要更改主键primary_key 更多信息DOC:NE与DOC alias_attribute 属性的详细信息 http://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/PrimaryKey/ClassMethods.html#method-i-primary_key-3D

的例子将是似乎

class Post < ActiveRecord::Base 
    self.primary_key = 'sysid' 
    self.table_name = 'old_posts` 

    alias_attribute :name, :title 
    alias_attribute :description, :content 
end 

然后,你可以调用:

p = Post.find(1) 
p.title #= > The best post 

您也可以单独使用传统的数据库从Rails应用程序数据库

http://ilikestuffblog.com/2012/09/21/establishing-a-connection-to-a-non-default-database-in-rails-3-2-2/

+1

我没有从第一次明白,但思前想后,我得到了主意,并且行之有效。谢谢! – Vla 2014-10-13 08:34:54

相关问题