Migrationでカラム追加
作成されたModelにカラムを追加する
Migration命令でModelとDBにカラムを追加する
$ rails generate migration AddColumnProduct invoke active_record create db/migrate/20130609082144_add_column_product.rb
自動生成された20130609082144_add_column_product.rbの中身はupとdownが定義されている
$ cat db/migrate/20130609082144_add_column_product.rb class AddColumnProduct < ActiveRecord::Migration def up end def down end end
- up:migrationが実行された時に行う処理
- down:migrationがRollbackされた時に行う処理
Productモデルにカラムを追加してみる
下記の様に修正する
class AddColumnProduct < ActiveRecord::Migration def up add_column :products, :price, :decimal, :precision => 8, :scale => 2, :default => 0 end def down remove_column :products, :price end end
$ rake db:migrate == AddColumnProduct: migrating =============================================== add_column(:products, :price, :decimal, {:default=>0, :precision=>8, :scale=>2}) -> 0.0800s == AddColumnProduct: migrated (0.0805s) ======================================