У меня есть приложение rails (3) (Master), в котором есть схема, модели и база данных. Также у меня есть еще одно приложение (сервис) rails (5), у которого нет моделей, но я использую (главное) базу данных приложения.
настройка приложения службы
common_db:
adapter: postgresql
database: 'blog'
username: 'username'
password: 'password'
host: 'localhost'
pool: '10'
application_record.rb
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
establish_connection
Rails.configuration.database_configuration["common_db"]
end
затем я добавил одну и ту же модель в сервисное приложение, затем пытался получить некоторые значения из основного приложения
class post < ApplicationRecord
has_many :comments
scope :article_comments, lambda { |a| select("created_at").joins('INNER JOIN comments on post.id = comments.post_id').where('article_id = ?',
a) }
end
и если я позвоню Post.article_comments , здесь это присоединяется, и все не работает, абсолютно это не будет работать, поскольку у нас нет никаких ассоциаций или моделей в сервисном приложении.
В основном мой вопрос
1) можно ли повторно использовать эту основную модель базы данных с приложением-службой?
2) Если я могу использовать это, то могу ли я использовать его со всеми ассоциациями
Пример:
Blog.comments в сервисном приложении
.....
3) Также есть ли другой хороший подход, чтобы использовать это снова, также я видел некоторые статьи
https://hiltmon.com/blog/2013/10/14/rails-tricks-sharing-the-model/, это будет хорошо для всех?