Недавно я добавил PostgreSQL в свое приложение, которое уже работало на MySQL, теперь приложение работает на двух базах данных. Мне удалось установить связи между таблицами, присутствующими в разных базах данных, и они работают нормально. Сегодня я добавил функцию поиска на страницу, которая использует таблицы, присутствующие в двух базах данных, и выдает ошибку. Целый день пытался разобраться с ошибкой, но безуспешно. Пожалуйста, посмотрите на ассоциации, код и помогите мне исправить это.
У меня есть 4 таблицы: -
Компания (mysql)
Местоположение (mysql)
Отчет (PostgreSQL)
Категория_отчета (PostgreSQL)
модель - компания.рб
establish_connection Rails.env+"_postgres"
has_many :reports
establish_connection Rails.env
belongs_to :location
location.rb
has_many :companies
отчет.рб
establish_connection Rails.env
belongs_to :company
establish_connection Rails.env+"_postgres"
belongs_to :report_category
report_category.rb
establish_connection Rails.env+"_postgres"
has_many :report
Теперь из представления я передаю параметры поиска и в своем report_controller пишу
@reports = Report.where("companies.name like ? and report_category.name ?", params[:company], params[:category]).includes(:company, :report_category)
после выполнения этой строки я получаю следующую ошибку
ActiveRecord::StatementInvalid: PGError: ERROR: relation "companies" does not exist
но
Company.where("location.name like ?", params[:location]).includes(:location)
or
Report.where("report_categories.name like ?", params[:category]).includes(:report_category)
отлично работает. Я получаю ошибку, только если я ищу, используя две базы данных. Пожалуйста, помогите