- 2009年1月11日 11:37 AM
- RoR
scaffold(テーブル定義)
Railsでは、scaffoldを使用してテーブル(定義)を生成する。
$ ruby script/generate scaffold モデル名
モデル名は単数形で最初の文字が大文字(TodoやMemo)。
この命名規則を守っておけば、モデルクラスでわざわざテーブル名を指定しなくてもテーブルを自動的に探し出すことが出来る(Todoモデルなら、自動的にtodosテーブルを)。
モデル名の後ろにtitle:string description:text 等と繋げていくとフィールドの内容が記述されたファイル(マイグレーションファイル)が自動生成される。(db/migrateフォルダ内に数字_create_モデルに対するテーブル名(小文字複数形).rbというファイル)
数字はこのマイグレーションファイルのversion管理の為。モデル名とテーブル名の関係は「Todo = todos」。
このマイグレーションファイル内に記述されている「upメソッド」の内容を実行することで、データベースにテーブル(scaffoldで定義した)を適用する(実際にテーブルを作成する)ことが出来る。
必要に応じてこのマイグレーションファイルのupメソッドの内容を書き換えて、必要な定義を加えていくことも出来る。
migrate(テーブルを生成)
以下のコマンドによりマイグレーションファイルをデータベースに適用して、実際にテーブルを生成する。
$ rake db:migrate
- 新しい: Railsにおける日本語の設定
- 古い: Railsで使用するデータベースの作成
コメント:0
トラックバック:0
- この記事のトラックバック URL
- http://showzine.info/blog/2009/01/rails%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%ae%e7%94%9f%e6%88%90%ef%bc%88scaffold%e3%81%a8migrate%ef%bc%89.html/trackback
- トラックバックの送信元リスト
- Railsにおけるテーブルの生成(scaffoldとmigrate) - SHOWJIN*BLOG より