Bu yanıtların hiçbiri, silmek istediğim geçiş eksik olduğu için karşılaştığım soruna tam olarak uymuyordu: Başka bir dalda bir geçiş oluşturup çalıştırdım, bu daha sonra atıldı. Sorun, bir geçiş çalıştırıldığında, rails'in sürümü schema_migrations
veritabanındaki bir tabloya eklemesidir. Dolayısıyla, db yapınızda veya şemanızda listelenmemiş olsa bile, raylar onu arar. Bu öksüz taşıma işlemlerini şunu çalıştırarak ortaya çıkarabilirsiniz:
rails db:migrate:status
Eksik geçişlerin sürümlerini not edin ve db konsoluna gidin:
rails dbconsole
Şimdi sürümleri taşıma tablosundan manuel olarak kaldırın:
delete from schema_migrations where version='<version>';
Şimdi iyi olmalısın.