railsでDBスキーマから作成してscaffoldで雛形をつくりたい
ということで、これまでに
$ script/genarate scaffold person name:string age:integer
なんてコマンドから雛形つくって、それをDBへ反映させられることはわかりました。
しかしながら、私は実際には画面やDB設計をしてからコーディングに入ることが多いです。
その場合、DB設計ツールからDDL生成して、データベースにテーブルがある状態から始めたい。
その方法を試してみました。
今回、まずDBは事前に存在している前提とします。
その状態で、"database.yml"を存在しているDBに合わせて修正します。
まずは開発環境なので”development:”のとこだけで大丈夫です。
mysqlでの例を挙げておきます。
development: adapter: mysql encoding: utf8 reconnect: false database: test_development pool: 5 username: test password: test socket: /var/run/mysqld/mysqld.sock
そこまでやったら以下のコマンドを叩きます。
$ rake environment RAILS_ENV=development db:schema:dump
これで、”db/schema.rb” にDB定義が出力されたはずです。
このファイルをとっておいて、モデルをつくります。
$ script/generate scaffold test
"db/migrate"以下にできたファイルに先ほど出力した”db/schema.rb”から必要な箇所をコピペします。
これを必要なだけ繰り返します。
コントローラ、ビューができてます。
ここで、うんん。。。残念。
ビューにDB項目が入ってないな。なにかやり方があるのだろうか。。。