그래서 다음 파일들을 삭제했습니다:
20210108134117_add_pending_pms_table.rb
20210512090204_add_timestamps_to_automations.rb
20210530122323_move_triggers_to_fields.rb
20211119103353_adds_discourse_automation_user_global_notice.rb
20230412120414_add_prefers_encrypt_field_to_pending_pms.rb
20190601000001_create_automations_table.rb도 삭제했어야 했는데, 대신 unless table exists 코드를 추가했습니다(삭제했을 때 다른 문제가 있었던 것 같아서요).
드디어 복구에 성공했습니다.
그런데 다시 빌드하면 데이터베이스가 마이그레이션을 시도할 때 동일한 오류가 발생합니다.
어떻게 해야 레일즈(Rails)가 이 마이그레이션들이 이미 실행된 것이라고 믿게 만들 수 있을지 모르겠습니다. 그래서 이렇게 시도해 보았습니다:
INSERT INTO schema_migrations(version) VALUES
('20190601000001'),
('20210108134117'),
('20210512090204'),
('20210530122323'),
('20211119103353'),
('20230412120414');
하지만 이것도 작동하지 않았습니다.
아마 2021년에 만든 것들만 건너뛰면 될까요? 아니면 202105까지만?
하지만 현재 실행 중인 버전은 2024년 1월 버전입니다.
구 서버에서 첫 번째 데이터베이스(schema_migrations를 건드리기 전 상태)는 복원할 수 있었기 때문에, 적어도 처음 상태로 돌아온 셈입니다. 이제 커밋과 마이그레이션을 어떤 방식으로 확인해야 하는지 알아야 할 것 같습니다.