Работа с именем столбца 'hash' в устаревшей базе данных - PullRequest
0 голосов
/ 19 октября 2018

Мне нужно получить доступ к устаревшей базе данных из проекта Rails 5.2.К сожалению, я не могу изменить имена столбцов таблицы, и таблица содержит столбец с именем hash, который не работает с ActiveRecord (это вызовет ошибку из-за hash, который является существующим методом).Мне не нужен этот столбец, но я не могу ни переименовать, ни удалить его.

Есть ли способ указать ActiveRecord не использовать поле hash данной таблицы?

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете использовать метод ignored_columns, который был добавлен в Ruby on Rails в версии 5.0, чтобы игнорировать столбцы из базы данных.Цитата из документов:

ignored_columns=(columns)

Устанавливает имена столбцов, которые модель должна игнорировать.В игнорируемых столбцах не будут определены методы доступа к атрибутам, и на них не будут ссылаться запросы SQL.

Просто добавьте в свою модель следующее:

class MyModel < ApplicationRecord
  self.ignored_columns = %w(hash)
end
...