社員名簿(3)
migration機能
先日つかった「migrate」というのは、migration機能というらしい。これは、DBをSQLで管理するのではなくて、ActiveRecordの規約に沿ったテーブル名などにしてくれて、DBを意識しないところがいいところらしい。たしかに、ぜんぜんとは言わないけれど、意識はしなかった(というか出来なかった?)
migration機能はSubversionと一緒に使える
-cというオプションで、Subversionと一緒に使えるそうです(まだSubversionの設定していない...)。script/generate -hで書かれています。
テーブルを追加する
script/generate model team vi db/migrate/002_create_teams.rb
002_create_teams.rb
class CreateTeams < ActiveRecord::Migration def self.up create_table :teams do |t| t.column :name, :string, :default => "部署名" end end def self.down drop_table :teams end end
rake migrate
結果
mysql> describe teams; +-------+--------------+------+-----+--------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+--------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(255) | YES | | 部署名 | | +-------+--------------+------+-----+--------------+----------------+ 2 rows in set (0.00 sec)