使用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
-
安装MDB宝石
group :development, :test do gem 'mdb' end
-
使用它如何
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
那么你可以使用ActiveRecord命令使用循环或sql命令将其转移到您的mysql表中
希望这会有所帮助。