17

既存の mysql データベースを指すように database.yml を構成しました

そこからどのようにモデルを生成できますか?

rails generate model existing_table_name

空のモデルのみを提供します..

4

6 に答える 6

15

Rmreを試すことができます。既存のスキーマのモデルを作成でき、外部キー情報に基づいてすべての関係を作成しようとします。

于 2012-09-12T10:50:02.837 に答える
10

Rails モデルにはフィールドは表示されませんが、使用することはできます。以下を試してください。ModelName という名前のモデルと "name" というフィールドがあると仮定して、Rails コンソールを起動し、次のように入力します。

ModelName.find_by_name('foo')

DB に存在する名前を指定すると、結果が表示されます。

ただし、Rails は関係を推測しませんが、データベースが Rails の規則に従っている場合、簡単に追加できます。

アップデート

私は、明示性 (「マジック」) のこの特定の欠如が、Rails の初心者にとって混乱の原因になっていることに気付きました。schema.rbモデルとすべてのフィールドを 1 か所でいつでも見ることができます。また、モデル ファイル内の各モデルのスキーマを確認したい場合は、annotate_models gem を使用できます。これにより、モデル ファイルの先頭にあるコメントに db スキーマが配置されます。

于 2010-11-08T00:36:13.223 に答える
3

あなたの答えは:

$ rake db:schema:dump

db/schema.dbこれにより、DB のスキーマを作成するための new が設定されます。

于 2014-03-22T15:09:44.593 に答える
1

ActiveRecordはスキーマ定義を解析しません。DBMにテーブル定義を要求し、その場でフィールドを把握します。

移行によってテーブルを変更する場合は、スキーマがあると便利です。 Schema Dumping and You移行を構築するための参照として使用するためにそれをダンプするのに役立ちます。

ActiveRecordは、テーブルの命名についていくつかの仮定を行い、idフィールドがタイプとして連番を持つ主キーであることを期待しています。移行を行うと、テーブルやフィールド名、タイプをリファクタリングするのに役立ちますが、DBMのコマンドラインを介して同じことを行うことができます。ActiveRecordのスタイルに従う必要はありませんが、そうすることで奇妙なエラーを回避し、ARが物事を推測して生活を楽にすることができます。

于 2010-11-08T01:21:37.750 に答える
1

Magic Model Generatorを試すことができます

于 2010-11-10T06:47:01.967 に答える