0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rails g model 全体の流れ

Last updated at Posted at 2020-11-07

環境構築がある程度完成して、アプリ開発に映ったらまずmodelとテーブルを作成。
モデルの作成の基本を簡単にまとめます。

基本の流れ

①modelの作成

rails g model [model名] column1:data型, column2:data型, ...
※ model名はテーブル単数系
※ modelとテーブルは1対1
※ references型を指定すると、アソシエーションを設定できる
ex. rails g model [model名] [参照先]:*references*
rails g modelコマンドを実行すると、以下4つのファイルが自動生成される。うち、1と2は今回登場するのでよくおさえておく

1. モデルのクラスファイル(/app/models/[モデル名].rb)
2. マイグレーションファイル(/db/migrate/yyyyMMddxxxx_create_[テーブル名])
3. モデルの自動テスト
4. モデルの自動テストで使うfictureファイル

②テーブルを作成/更新

rails db:migrateコマンドを実行

③テーブルを参照し、問題なく作成できているか確認する

上記の流れの主な留意点

①外部キー制約について

rails g modelコマンド実行時に外部キーのカラムにreferences型を設定していた場合

以下のような記述があるので、修正する(追記する)

/db/migrate/yyyyMMddxxxx_create_[テーブル名]
t.references :[自身のテーブル名単数形]`

/db/migrate/yyyyMMddxxxx_create_[テーブル名]
`t.references :[自身のテーブル名単数形], foreign_key:true`

テーブルを作成/更新

後で外部キーをカラムごと追加して設定したい場合

rails g migration [クラス名] [参照先クラス名]:references, ...コマンドを実行
※ [クラス名]はAddXXXRefsToYYYの形にする。XXX:参照先クラス YYY:参照元クラス
※ ちなみにデータ型にstringなどを指定すれば通常のカラムを追加することができる

テーブルを作成/更新

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?