Scaffoldで何が生成される?
Scaffoldを使うといったい何がどうなるのでしょうか。
Scaffoldとは:
Railsに用意されている、コードを自動生成するジェネレータのひとつ。
アプリケーションの足場となるプログラムのひな形を自動で構成してくれる。
"scaffold"を生成すると、任意のテーブルのCRUD機能(データの登録:CREATE、参照:READ、更新:UPDATE、削除:DELETE)を実現するプログラムの雛形と、テーブルを作成するためのマイグレーションファイルが構成されます。
scaffoldを用いた機能の追加 - Tuby Association
つまり、ある情報の登録、参照、更新、削除ができる単純なアプリケーションを作りたいときにはscaffoldだけで作成できる。
ちなみに、データベースとそのテーブルそのものは作成してくれないのだが、scaffoldで作成されたマイグレーションファイルを があることで、別途マイグレーションを行えば(rake db:migrate)自動でテーブルを作成してくれる。
また、色々なRailの解説をみていると、アプリを作成する際始めにdb:createでデータベースを作成してから db:migrateでテーブルを作成しているものがあるが、db:createを始めにしなければならないということでもないらしい。
初めてdb:migrateが実行されると、db/development.sqlite3という名前のファイルが生成されます。これはSQLiteデータベースです。
6.1.1データベースの移行 - Ruby on Rails tutorial
追記: 2012/11/22
開発環境のデータベースもPostgreSQLにしたらちゃんとcreateしなきゃだめだった。 createしなくても良いのは、sqliteのときだけかな。
他、参考にしたリンク:
第3回 Scaffoldで簡単にデータアクセス