ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

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
  1. up:migrationが実行された時に行う処理
  2. 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) ======================================