2012-02-15 4 views
0

私はいくつかのテーブルを持っていて、それぞれがレールの命名規則に従わないカラムを含んでいます。
これらのテーブルからActiveRecordモデルを作成するためのツールはありますか?これを手作業で行う必要がありますか?既存のポストグルにレールを接続するDB - コンソールとコントローラに見えないモデル

手作業で1つのテーブルのActiveRecordモデルを作成しても、これは問題ありませんか? (その上に不要に隠されたDB識別子は?)

UPDATE

私はmagicmodelsを試してみましたが、それは働いていないことができます(最後に変更されたので、それがしばらくされている)としていないようですレール3.2

と互換性がどのような私は、試してみました:

- change the database.yml so it points towards my existing Postresql database 
- manually create my models such as: 

    # app/models/user.rb 
    class User < ActiveRecord::Base 
    end 

- run the console and tried 
    User.all 

=> I end up with an error saying that contant User was not initialized. 
Doesn't the console import the model automatically ? Or is that linked to the fact the configuration I did is not correct ? 
+0

どのように魔法のツールが何をすべきか知っていますか? –

+0

おそらくmagic_model_generatorのように、これは興味深いオプションのようです。 – Luc

答えて

1

ActiveRecordは従来のデータベースで正常に動作します。 ORMとしてActiveRecordでRailsを使用していないバックエンドシステムを作った。 "ActiveRecord Without Rails"が私を始めました。 "Using ActiveRecord outside Rails"も便利です。 Googleで「レールなしでactiverecordを使用する」を検索すると、さらに多くの情報が見つかります。

完全にモデル化する必要はありません。必要なテーブルの基本クラスを使用するだけで、ActiveRecordはデータベースに必要なものを照会します。テーブル関係についてはわかりませんが、一般的なクエリではうまくいくでしょう。あなたが行かなくても関係を構築してください。

+0

私はdatabase.yml設定ファイルをセットアップしており、私が持っているテーブルごとにモデルを作成しました。私は 'レールコンソール'を実行することができますが、User.allを試してみると、 "NameError:uninitialized constant User"というエラーが表示されます。 – Luc

+0

モデルファイルを含める必要があると思います。私はそれで遊んでからしばらくしています。 –

+0

最後にレールで演奏してからしばらくしていましたが、コンソールがあなたのためにインポートを処理することを覚えていれば、 – Luc

2

http://magicmodels.rubyforge.org/magic_model_generator/ことはあなたが探しているものかもしれません。私は、この機能を提供する多くのツールについては聞いていませんが、レガシーDBを与えずにモデルを作成するのではなく、最初から多くのレールアプリを設計しています。

モデルを手作業で簡単に作成し、ほぼすべてのdbテーブルにマップできます。モデルは "set_table_name 'という名前を持っています。これにより、1つのモデルマッピングのデフォルトの規則を複数のdbテーブル名に上書きすることができます。

関連する問題