簡體   English   中英

Rails數據庫分片和存儲過程

[英]Rails database sharding and stored procedures

我正在使用tchandy /章魚寶石進行數據庫分片。 我有一個要求,就是在不同的sql server數據庫上執行存儲過程。 我如何使用這個寶石來做到這一點?

任何幫助將不勝感激。 謝謝。

如果您使用的是ActiveRecord SQLServer適配器,請簽出:

http://rubydoc.info/gems/activerecord-sqlserver-adapter/3.2.9/ActiveRecord/ConnectionAdapters/Sqlserver/DatabaseStatements:execute_procedure

在您的代碼中執行類似的操作

class Pro::DataImport < ActiveRecord::Base
  def self.update(user)
    self.execute_procedure("Stored Procedure Name", arg1, arg2)
  end
end

每個普通的SQL查詢都將轉換為要執行的存儲過程。 這就是ActiveRecord的SQL Server適配器的工作方式。 因此,對於數據庫中定義的永久性存儲過程,只需擔心這一點。

感謝您的答復。

我正在做這樣的事情:

class Order < ActiveRecord::Base
    def self.call_proc_example shard
        Octopus.using( shard.to_sym ) do
            self.select_all( "exec [dbo].[proc_name_example];" );
        end
    end
end

它對我有用,因為我有許多數據庫可以執行過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM