Использовать базу данных множественной схемы Postgres в Rails

Я разрабатываю приложение с несколькими приложениями, следуя этой статье. Проблема в том, что я запускаю все миграции в первый раз. В файле schema.rb представлены только таблицы для общедоступной схемы, но что происходит с другими схемами? и как я могу создать другие схемы с другой структурой для public Я не хочу использовать драгоценные камни.

См. пример ниже

Таблица, создаваемая для общедоступной схемы

class CreatePerspectives < ActiveRecord::Migration
  include MultiSchema
  def up
      with_in_schemas :only => :public do
         # Create table perspectives
      end
  end


  def down
    with_in_schemas :only => :public do
      drop_table :prespectives
    end
  end
end

Таблица, создаваемая для частных схем

class CreateObjectives < ActiveRecord::Migration

  include MultiSchema

  def change
    with_in_schemas :except => :public do
        # Create objectives table
    end
  end
end

schema.rb

ActiveRecord::Schema.define(version: 20130810172443) do

  create_table "perspectives", force: true do |t|
    t.string   "name"
    t.datetime "created_at"
    t.datetime "updated_at"
  end
end

Ответ 1

Знаешь ли ты квартиру? https://github.com/influitive/apartment

В этом году я использовал проект, который поддерживает множественную схему с postgresql. Все документировано и прост в использовании. И вы можете выбрать режим промежуточного ПО. Например, при доступе к домену customer.applicationdomain.com приложение может выбрать для вас правильную схему. Кстати, вы можете использовать фоновые задания с sidekiq тоже.