Я пишу приложение Rails для устаревшей базы данных.Одна из таблиц в этой устаревшей базе данных имеет столбец с именем object_id
.К сожалению, object_id
также является атрибутом каждого объекта в Ruby, поэтому, когда ActiveRecord пытается использовать эти объекты для формулирования запроса, он использует Ruby, определенный object_id
, а не значение, которое находится в базе данных.
Устаревшее приложение содержит более миллиона строк кода, поэтому простым изменением имени столбца в базе данных будет последний вариант.
Вопросы:
1. ЕстьЕсть ли способ заставить ActiveRecord / Rails использовать псевдоним или синоним для этого столбца?
2. Есть ли способ в Ruby заставить метод object_id
вести себя по-разному, в зависимости от того, кто его вызывает?
3.Могу ли я просто переопределить поведение метода object_id в моей модели (я предполагаю, что это ужасная идея, но я должен был спросить)
Любые предложения приветствуются.