Close icon
2022月07日07日

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

を実行してデータベースに反映させてあげましょう。



アトトックラボとは

株式会社アトトックメンバー が技術の話、デザインの話、キャラクターの話、ときどき脱線してガジェットの話やライフハックの話など好きなことを書いています。


連載記事


最近の記事


タグ