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