2011-03-06 124 views
0

如何使用Rails 3從現有數據庫中的表中讀取與Rails 3標準架構不匹配的數據?Ruby on Rails 3,續集,攻擊現有數據庫

我被告知續集寶石是一個很好的開始,但我沒有太多的東西。

具體細節:

  • 這是一個Oracle數據庫。我已經建立了連接,並確認遷移和回滾正常工作。
  • 我已經爲所需的表格和相關列生成了腳手架。
  • 我正在尋找一種方法來指定和映射相關的表和列。
  • 這可以在沒有Sequel的情況下完成嗎?

回答

0

續集是一個很好的寶石。這是我在處理遺留數據庫時的第一選擇。

它是一個Oracle數據庫。我已經建立了連接,並確認遷移和回滾正常工作。

如果您的數據庫位於企業中且正在生產中,並且正在被其他應用程序使用,那麼您需要非常小心地使用遷移。如果你也負責數據庫開發,我建議只使用它們,即使這樣我也會小心。

我已經爲所需的表和相關列生成了腳手架。

通過腳手架,你的意思是形式?

我正在尋找一種方法來指定和映射相關的表和列。

續集非常靈活,可讓您使用原始SQL,使用模型或在兩者之間工作。如果你有一個名爲「湯匙」並已連接到它的表:

DB[:spoons] 

將創建一個數據集來訪問表。從那裏,你可以追加WHERE子句,選擇,排序等

的另一種方法是使用模型,類似的ActiveRecord:

class Spoon < Sequel:Model 
end 

這對於所有創建的表的記錄與存取模型領域。

續集對主索引名稱"id"進行了假設,如ActiveRecord,但您可以根據需要進行更改。

這兩種方法都非常強大,並且對於使用字段及其類型的自動發現的數據庫來說效果很好。

The README是您需要知道的一個非常好的概述。

另外,Jeremy Evans是開發人員,如果您問他技術問題,他會非常敏感。

這可以在沒有Sequel的情況下完成嗎?

當然。 ActiveRecord將使用模型,但如果它們不符合預定的/預期的名稱,您可能必須告訴它鍵或表的名稱。