У мене є проект рейок, який використовує старі версії плагіна FlexImage для обробки зображень.
У старій версії дані зображення були збережені у стовпчику під назвою "data", у новій версії цей стовпець повинен бути названий "image_file_data".
Я написав міграцію, щоб перейменувати колонку, алеколи я намагаюся запустити міграцію, я думаю, що рейки намагаються завантажити моделі, які потім автоматично перевіряють, чи є дійсний стовпець (який він не є), і викидає помилку, яка призупиняє міграцію.
Я б припустив, що мої проблеми будуть вирішені, якщоЯ ніколи не завантажував ці моделі класів і просто написав кілька sql для перейменування стовпців. Але наступна лінія не працює, оскільки рейки досі намагаються завантажити модель.
Apartment.connection.execute "ALTER TABLE logos ЗМІНИТИ ДАНІ image_file_data MEDIUMBLOB;"
Відповіді:
0 для відповіді № 1На жаль, я зрозумів це. Я зателефонував
model = (table_name.to_s) .classify.constantize
Раніше, і це викликало завантаження моделі