インデックスを置き換える必要もあります:
class RenameOldTableToNewTable< ActiveRecord:Migration
def self.up
remove_index :old_table_name, :column_name
rename_table :old_table_name, :new_table_name
add_index :new_table_name, :column_name
end
def self.down
remove_index :new_table_name, :column_name
rename_table :new_table_name, :old_table_name
add_index :old_table_name, :column_name
end
end
そして、ここで他の答えが説明するように、手動でファイルの名前を変更します。
参照:http : //api.rubyonrails.org/classes/ActiveRecord/Migration.html
この移行を記述した後、ロールバックおよびロールフォワードできることを確認してください。何か問題が発生し、存在しなくなったものに影響を与えようとする移行に行き詰まった場合、トリッキーになる可能性があります。データベース全体を破棄し、ロールバックできない場合は、最初からやり直してください。したがって、何かをバックアップする必要があるかもしれないことに注意してください。
また、has_やbelongs_toなどで定義された他のテーブルの関連する列名についてschema_dbを確認してください。おそらくそれらも編集する必要があります。
そして最後に、リグレッションテストスイートなしでこれを行うのは大変です。