使用ActiveRecord将数据从MS Access数据库导入MySQL数据库

使用ActiveRecord将数据从MS Access数据库导入MySQL数据库

问题描述:

我正在构建一个Rails 5应用程序,它将替代基于Microsoft Access的解决方案,并且需要将Access中的数据导入Rails应用程序的MySQL数据库。使用ActiveRecord将数据从MS Access数据库导入MySQL数据库

值得注意的是,我希望保留关系和默认值并将其反映到目标数据库中。

我已经看到了一些这样的方法,但他们都是相当古老的解决方案。我希望能得到2017年的答案。

我认为可以这样做的一种方法是将数据从MS Access导出到临时MySQL数据库中,验证所有关系并验证数据是否全部存在。然后使用ActiveRecord将临时MySQL数据库中的数据导入到Rails应用程序的MySQL数据库中。我认为这将会实现数据迁移,并意味着出现问题的可能性会更小。

这是正确的轨道吗?或者有更好的方法可以做到吗?

如果您需要更多信息,请告诉我。

谢谢!

您可以使用MDB宝石(链接:mdb gem for more detail

  1. 安装MDB宝石

    group :development, :test do 
        gem 'mdb' 
    end 
    
  2. 使用它如何

    database = Mdb.open("app/assets/mdb/your_access_file.mdb") 
    database.tables 
        # will list tables, for example you have table customer inside access 
    @customers = database["customer"] 
        # this will put tables customer to activerecord model @customers 
    @customers.last 
    @customers.count 
    
  3. 那么你可以使用ActiveRecord命令使用循环或sql命令将其转移到您的mysql表中

希望这会有所帮助。