ruby-on-rails-4 – 在Rails中使用Postgres多模式数据库

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-4 – 在Rails中使用Postgres多模式数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 this article之后开发一个多租户应用程序.问题是我第一次运行所有迁移时.在schema.rb文件中只是公共模式的表,但是其他模式发生了什么?并且如何创建具有不同结构的其他模式给公众,我不想使用宝石.

见下面的例子

要为公共模式创建的表

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

解决方法

你知道公寓宝石吗? https://github.com/influitive/apartment

我在今年的一个项目中使用了一个支持多模式的postgresql.一切都记录在案,易于使用.您可以选择中间件模式.例如,当您访问域customer.applicationdomain.com时,应用程序可以为您选择正确的模式.顺便说一句,你可以使用sidekiq的后台工作.

猜你在找的Ruby相关文章