テーブル定義の更新をする為に、普段は直接DBに接続して、alter table 等のSQLコマンドで定義を変更していたのだが、heroku においては、直接DBに接続する手段を未だ設定していないので、勉強を兼ねて、migrationファイルにてテーブル定義を変更しようと思う。
[bash]
c:> rails generate migration ChangeColumnLengthFnameInMembers
[/bash]
すると、migrationファイルが作成される。
db/migrate/20120808XXXXX_change_column_length_fname_in_member.rb
ファイル名が長い・・・。
[ruby]
class ChangeColumnLengthFnameInMembers < ActiveRecord::Migration
def up
end
def down
end
end
[/ruby]
up / down のメソッドがあるmigrationファイルが生成されるので、下記を追加する。
今回は、項目長さを変更することとする。
[ruby]
class ChangeColumnLengthFnameInMembers < ActiveRecord::Migration
def up
change_column :members, :fname, :string, :limit => 128, :null => false
end
def down
end
end
[/ruby]
そして、マイグレーションコマンド。
[bash]
c: > rake db:migrate
[/bash]
うまくいったようだ。