Проблемы обновления Rails 5.2 до 6.0 с пространством имен миграции: неинициализированные постоянные ошибки - PullRequest
1 голос
/ 19 января 2020

У меня проблема с ошибкой NameError Exception: uninitialized constant внутри миграций, которые ссылаются на модели ActiveRecord. Та же самая проблема не присутствует в консоли, поэтому я немного озадачен тем, что происходит в миграции, которая отличается от консоли rails.

По сути, мои модели ActiveRecord, похоже, не все автоматически загружают.

Вот пример простого вызова, который работает в консоли, но вызывает ошибку при миграции:

migration(byebug)> Customer.all
*** NameError Exception: uninitialized constant Customer (call 'Customer.connection' to establish a connection)::Querier
Did you mean?  Numerizer

nil

Этот же вызов в консоли работает.

Интересно, что если я сначала вызову другую модель, которая правильно загружает (например, MyOtherThing.all), то если Следующая попытка вызова Customer.all больше не выдает ошибку.

Просто немного озадачен тем, с чего начать искать причины этого. Спасибо!

1 Ответ

0 голосов
/ 21 января 2020

Это известная проблема:

https://github.com/rails/rails/issues/37748

Надеюсь, она будет исправлена ​​в ближайшее время. И часть моего замешательства была связана с тем, что я имел дело с byebug, что сбивало меня с толку тем, что стало причиной настоящей ошибки.

...