Jeg fik en lignende fejl, da jeg forsøgte at oprette en ny model, der har en reference til en eksisterende model, der blev oprettet før migrering til Rails 5.1.
Selvom fejlmeddelelsen ikke var særlig klar omkring det, viste det sig i mit tilfælde, at problemet var datatypemismatch mellem primærnøglen til den gamle model og fremmednøglen til den nye model (MySQL tillader det ikke). Det var sådan, fordi standarddatatypen for alle primære og fremmede nøgler siden Rails 5.1 er bigint, men for den gamle model var primærnøgletypen stadig heltal.
Jeg løste dette ved at konvertere alle primære og fremmede nøgler af de nuværende modeller til bigint, så jeg kan bruge Rails nye standardindstillinger og glemme alt om det.
En løsning kunne også være at angive heltalstype for de nye fremmednøgler, så de matcher primærnøgletypen for de gamle modeller. Noget i stil med følgende:
class CreateUserImages < ActiveRecord::Migration[5.1]
def change
create_table :user_images do |t|
t.references :user, type: :integer, foreign_key: true
t.string :url
end
end
end