私はdbを作成することができます:データベーステーブルを作成して作成するかdb:新しいバージョンに移行しますが、既存のデータベース(すべてのテーブル)からスキーマをインポートし、それぞれのモデルを生成します。Ruby on Railsは既存のデータベーススキーマをインポートする方法がありますか?
ActiveRecordにはこれができますか?ありがとう!
私はdbを作成することができます:データベーステーブルを作成して作成するかdb:新しいバージョンに移行しますが、既存のデータベース(すべてのテーブル)からスキーマをインポートし、それぞれのモデルを生成します。Ruby on Railsは既存のデータベーススキーマをインポートする方法がありますか?
ActiveRecordにはこれができますか?ありがとう!
いいえ。 ActiveRecordはORMなので、データベーススキーマの生成やモデルの生成とは関係ありません。 Railsにはこれを行うという概念もありません。
あなたはデータベースの移行を記述し、これを自分で行う必要があります。
方法があります。新しいRails 2.2アプリを作成します(2.3または3.0にすることはできません。宝石は2007年以降に更新されていません)。次に、Magic Model Generator gemをインストールして使用します。
これはあなたの既存のデータベースとそれに加えて魔法のようなすべてのモデルを見ます。基本的なActiveRecordモデルファイルの構造はRails 3と非常に似ていますので、現在のプロジェクトにコピーして必要に応じて調整することができます。
既存のテーブルまたは従来のテーブルを手作業でモデルを生成することは難しくありません。単純なモデルから始め、タブ名、主キー、フィールド名を作成します。 Railのコンソールを実行して、最初のレコードの検索コマンドを生成します。モデルを微調整するために必要なものを提供するSQLが生成されます。従来のテーブルフィールド命名法のほとんどは、ActiveRecordの前提を誤って実行するため、修正する必要があります。私はこれを行ういくつかのデータベースを結びつけなければなりませんでした。しかし、マイグレーションを使用しないでください。あなたのDBAが不正になった場合、あなたを憎むでしょう。 –
DOは移行を使用します。データベース構成はデプロイメントプロセスの一部であり、デプロイメントでマイグレーションを使用して、データベースがアプリケーションと一致するようにする必要があります。 DBAは、テーブルの設計に関与する必要がありますが、スキーマの展開は考慮しないでください。 – xaxxon