我有一個Rails項目,它有一個用於實際應用程序的Postgres數據庫,但需要從Oracle數據庫中抽出大量數據。Rails控制檯不會自動加載第二個數據庫的模型
database.yml的樣子
development:
adapter: postgresql
database: blah blah
...
oracle_db:
adapter: oracle
database: blah blah
我的模型,從對Oracle數據庫看起來數據下降喜歡
class LegacyDataClass < ActiveRecord::Base
establish_connection "oracle_db"
set_primary_key :legacy_data_class_id
has_one :other_legacy_class, :foreign key => :other_legacy_class_id_with_funny_column_name
...
end
現在,習慣我經常做很多我的早期發展(這是早期開發),編碼一下,然後在Rails控制檯中播放。例如,在定義LegacyDataClass的所有關聯之後,我將開始嘗試諸如a = LegacyDataClass.find(:first); puts a.some_association.name
之類的東西。意外的是,這與LegacyDataClass死亡尚未加載。
我可以然後require 'LegacyDataClass'
修復問題,直到我需要reload!
,這實際上不會重新加載它,或直到我打開控制檯的新實例。
這樣的問題:
- 爲什麼會發生這種情況?顯然有一些Rails魔法我不理解。
- 什麼是方便的Rails 解決方法?
Gaaaaaaaah,你能告訴誰做太多的Java爲自己的好?我沒有使用生成器,因爲我認爲我不需要自動生成的遷移,然後我沒有考慮它就應用了Java「filename = classname + extension」約定。 非常感謝! – 2008-10-02 05:37:24