Запрос различных данных схем в приложении rails для чтения + записи - PullRequest
3 голосов
/ 21 июня 2019

У меня есть два приложения рельсов base1 и base2.

base1 использует db1 и имеет несколько арендаторов в этой базе данных, используя жемчужину квартиры.

base2 - это приложение для одного арендатора, база данных db2 которого является основной, а также использует данные из db1.

Теперь проблема в том, что , base2 приложение установило соединение с db1, и я могу получить данные db1 данные в общедоступном арендаторе в base2 приложении.
Какполучить данные из разных схем db1 в base2 приложении?

1 Ответ

3 голосов
/ 21 июня 2019

Согласно обсуждениям в комментариях.

def self.with_schema(schema_name)
    class_name = self.name + schema_name.camelize
    table_name = self.table_name
    if !Object.const_defined?(class_name)
      Object.const_set(
        class_name, Class.new(self) do
          self.table_name = "#{schema_name}.#{table_name}"
        end
      )
    end
    class_name.constantize
  end

Добавьте это к своей записи приложения, и вы сможете делать такие вещи, как: Data.schema('schema_name').all

...