Railsでscaffoldを使ってテーブルを作成
Railsのアプリケーションを開発する時に各機能を実装するためのMVCを作成しますが、実装する機能が増えるとMVCの作成が手間に感じる時があるかと思います。
そんな時に便利なscaffoldのコマンドについて書こうと思います。
scaffoldとは
scaffoldとは英語で 足場 という意味で、名前の通りアプリケーションの足場、そして土台となるMVCの雛形を作成できるコマンドです。
日本語の意味が分かれば初学者にも直感的にイメージしやすいかもしれません。
scaffoldの使い方
scaffoldコマンドはアプリケーションのMVCを作成できるコマンドです。なので、開発を進めたいディレクトリで実行することが大前提になります。
新規作成するコマンド
string型のnameカラムがあるsampleテーブルを作成
$ rails g scaffold Sample name:string
また複数のカラムを設定したい時には
$ rails g scaffold モデル名 カラム名①:データの型① カラム名②:データの型②・・・
のようにすることで、一度に複数のカラムの追加をすることもできます。
注意点として モデル名の頭文字は大文字にする 点に気をつけましょう。また、 作成されるテーブルはモデル名の複数形 (モデル名がUserだとテーブル名はusers)になります。
既存のテーブルにカラムを追加
開発が進んでいくと「既存のデーブルにカラムを追加したい」または、「設定するカラムをうっかり忘れてた」なんてことがあるかと思います。
初学者にとってはドキッとしてしまうことですが、そんな時のために追加するコマンドも紹介しようと思います。
カラムの追加コマンド
Sampleテーブルにageカラムをinteger型で追加する
$ rails g migration AddAgeToSample age:integer
追加したいカラム名を2度記述するので、慣れないうちは違和感を感じてしまうかもしれません。
それと新規作成と同様大文字にする部分に注意しましょう
既存のテーブルからカラムを削除
「作成したカラムがいらなくなった」「間違ってカラムを作成してしまった」などでカラムを削除したくなる場面があると思います。
そんな時も狼狽えることなく、落ち着いて削除してしまいましょう。
カラムの削除コマンド
Sampleテーブルに追加したageカラムを消す
$ rails g migration RemoveAgeFromSample age:integer
カラム追加と同様に大文字にする部分に注意しましょう。
カラムの編集が終わったら
テーブルの新規作成、カラムの追加、削除が終わったら一息つく前に
$ rails db:migrate
を実行してデータベースに反映させてあげましょう。