0

我正在構建一個Rails 5應用程序,它將替代基於Microsoft Access的解決方案,並且需要將Access中的數據導入Rails應用程序的MySQL數據庫。使用ActiveRecord將數據從MS Access數據庫導入MySQL數據庫

值得注意的是,我希望保留關係和默認值並將其反映到目標數據庫中。

我已經看到了一些這樣的方法,但他們都是相當古老的解決方案。我希望能得到2017年的答案。

我認爲可以這樣做的一種方法是將數據從MS Access導出到臨時MySQL數據庫中,驗證所有關係並驗證數據是否全部存在。然後使用ActiveRecord將臨時MySQL數據庫中的數據導入到Rails應用程序的MySQL數據庫中。我認爲這將會實現數據遷移,並意味着出現問題的可能性會更小。

這是正確的軌道嗎?或者有更好的方法可以做到嗎?

如果您需要更多信息,請告訴我。

謝謝!

回答

0

您可以使用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表中

希望這會有所幫助。