Я хочу ограничить доступ к БД для каждого экземпляра отдельно. Фоном является то, что я оптимизирую SQL звонки (запоминание, энергичная загрузка ...) и хочу предотвратить случайные звонки в БД, не зная о них.
Я читал, что вы можете отключить соединение для всей модели или всего приложения (см. Как отключиться от конкретной базы данных в рельсах? ). Но я хочу сделать это на основе экземпляра, чтобы позже можно было оптимизировать другой код, который использует ту же модель.
В Rails 6 вы можете использовать
ActiveRecord::Base.connected_to(role: :reading) do
# all code in this block will be connected to the reading role
end
для запуска каждого дБ звонить через указанное c соединение. Это может быть использовано для ограничения доступа к БД для определенных частей моего кода (см. https://guides.rubyonrails.org/active_record_multiple_databases.html#using -manual-connection-коммутация )
Однако я на Rails 5.2 и я не нашел никакой функциональности, близкой к этому. Так есть идеи, как этого добиться?