또한 인덱스를 교체해야합니다.
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를 확인하십시오. 아마 그것들도 편집해야 할 것입니다.
마지막으로 회귀 테스트 스위트없이이를 수행하는 것은 쉽지 않습니다.