Rails отслеживает существующие столбцы ( здесь происходит волшебство ) и использует его при загрузке объединенных таблиц с .eager_load
. .eager_load
создает запрос SQL, который выглядит следующим образом:
SELECT "models"."id" AS t0_r0,
...
"models"."deprecated_column" as t0_r1,
... as t1_r0,
...
это хорошо работает для большинства ситуаций. Но становится проблематичным при опускании столбцов.
Интересно, есть ли способ рельсовой маркировки столбца для удаления, чтобы он не был выбран для будущих активных загрузок.
Чтение исходного кода активной записи, похоже, что если бы pg_attribute имел attisdropped = true
, тогда столбец не был бы выбран. Но я не уверен, как установить его с помощью миграций activerecord.