[Rails] migrate 때 발생했습니다 : An error has occurred, all later migrations canceled : 오류 처리
Rails 6.0.3.1
루비 2.6.3
현재 오리지널 앱을 제작 중.
그 때 발생해 버린 An error has occurred, all later migrations canceled에 대한 에러의 해결 방법에 대해 보았다.
20201020102544_create_bookmarks.rb.
add_index :bookmarks, [:following_id, :follower_id, :follow_id, :followed_id], unique: true
・20201020102544_create_bookmarks.rb 파일내에 상기 내용의 컬럼을 unique 제약을 걸기 위해서 기술
ターミナル.
% rails db:migrate
・터미널에서 rails db:migrate_를 걸었던 곳, 위와 같이 rails aborted!
StandardError: An error has occurred, all later migrations canceled:오류가 발생했습니다. 잘 보면 Index name 'index_bookmarks_on_following_id_and_follower_id_and_follow_id_and_followed_id' on table 'bookmarks' is too long; the limit is 64 characters로 기술되어 있어 문자 제한을 넘고 있다고 지적되고 있는 것이 지적되고 있는 것이 지적되고 있다
#before
add_index :bookmarks, [:following_id, :follower_id, :follow_id, :followed_id], unique: true
#after
add_index :bookmarks, [:following_id, :follower_id, :follow_id, :followed_id], unique: true, name: 'bookmarks_index'
· 위와 같이 name : 'bookmarks_index'를 추가하고 설명하고 다시 rails db : migrate를 실행하면 복구했습니다.
※정리※
설마, migration 파일에도 문자 제한이 있다고는 생각하지 않았습니다 꽤 기본적인 일이지만, 또 하나 공부가 되었습니다. 누군가의 도움이되면 기쁩니다
Reference
이 문제에 관하여([Rails] migrate 때 발생했습니다 : An error has occurred, all later migrations canceled : 오류 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/homuranotori/items/e9c36bf272af605d7d0d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)