0

一直在转动我的轮子。如何使用 sequel gem 指定自定义表映射?

我做了以下

初始化.rb

OTHER_DB = Sequel.connect(:adapter => 'tinytds', :host => 'host1', :database => 'mydatabase', :user => 'myuser', :password => 'mypassword')

Namespace::MyModel.db = OTHER_DB

我的模型.rb

module Namespace
  class MyModel < Sequel::Model('myschema.MyModelTable')
  end
end

它抱怨构造函数中的“myschema.MyModelTable”。我也试过 set_dataset('myschema.MyModelTable') 没有成功。

文档似乎对如何做到这一点有点不透明

4

2 回答 2

1

做这个:

class MyModel < Sequel::Model(:myschema__MyModelTable)
end

有两个下划线。这是 Sequel 的 tinytds 适配器用来指定模式的约定。见第 194 行:https ://github.com/jeremyevans/sequel/blob/master/lib/sequel/adapters/tinytds.rb

于 2017-02-02T20:31:23.367 回答
1

我用下面的代码解决了这个问题

module Namespace
  class MyModel < Sequel::Model(Sequel.qualify(:myschema,:MyModelTable))
  end
end

可以在此处的测试中找到更多示例

于 2016-05-09T20:35:35.953 回答