【问题标题】:Importing data from MS Access DB into MySQL DB with ActiveRecord使用 ActiveRecord 将数据从 MS Access DB 导入 MySQL DB
【发布时间】:2017-12-22 21:44:52
【问题描述】:

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

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

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

我认为可以做到这一点的一种方法是将数据从 MS Access 导出到临时 MySQL 数据库中,验证所有关系并验证数据是否都存在。然后使用 ActiveRecord 将临时 MySQL 数据库中的数据导入 Rails 应用程序的 MySQL 数据库。我认为这将分阶段进行数据迁移,并意味着出错的可能性较小。

这是在正确的轨道上吗?还是有更好的方法可以做到这一点?

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

谢谢!

【问题讨论】:

    标签: mysql ruby-on-rails ms-access activerecord database-migration


    【解决方案1】:

    你可以使用mdb gem(链接:mdb gem for more detail

    1. 安装 mdb gem

      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表中

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2010-11-30
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多