2011-01-29 10 views
5

私はdbを作成することができます:データベーステーブルを作成して作成するかdb:新しいバージョンに移行しますが、既存のデータベース(すべてのテーブル)からスキーマをインポートし、それぞれのモデルを生成します。Ruby on Railsは既存のデータベーススキーマをインポートする方法がありますか?

ActiveRecordにはこれができますか?ありがとう!

+1

既存のテーブルまたは従来のテーブルを手作業でモデルを生成することは難しくありません。単純なモデルから始め、タブ名、主キー、フィールド名を作成します。 Railのコンソールを実行して、最初のレコードの検索コマンドを生成します。モデルを微調整するために必要なものを提供するSQLが生成されます。従来のテーブルフィールド命名法のほとんどは、ActiveRecordの前提を誤って実行するため、修正する必要があります。私はこれを行ういくつかのデータベースを結びつけなければなりませんでした。しかし、マイグレーションを使用しないでください。あなたのDBAが不正になった場合、あなたを憎むでしょう。 –

+0

DOは移行を使用します。データベース構成はデプロイメントプロセスの一部であり、デプロイメントでマイグレーションを使用して、データベースがアプリケーションと一致するようにする必要があります。 DBAは、テーブルの設計に関与する必要がありますが、スキーマの展開は考慮しないでください。 – xaxxon

答えて

3

いいえ。 ActiveRecordはORMなので、データベーススキーマの生成やモデルの生成とは関係ありません。 Railsにはこれを行うという概念もありません。

あなたはデータベースの移行を記述し、これを自分で行う必要があります。

1

方法があります。新しいRails 2.2アプリを作成します(2.3または3.0にすることはできません。宝石は2007年以降に更新されていません)。次に、Magic Model Generator gemをインストールして使用します。

これはあなたの既存のデータベースとそれに加えて魔法のようなすべてのモデルを見ます。基本的なActiveRecordモデルファイルの構造はRails 3と非常に似ていますので、現在のプロジェクトにコピーして必要に応じて調整することができます。

関連する問題