自定义 Table 映射 Sequel gem
Custom Table Mapping with Sequel gem
一直在转动我的轮子。如何使用 sequel gem 指定自定义 table 映射?
我已经完成了以下操作
init.rb
OTHER_DB = Sequel.connect(:adapter => 'tinytds', :host => 'host1', :database => 'mydatabase', :user => 'myuser', :password => 'mypassword')
Namespace::MyModel.db = OTHER_DB
MyModel.rb
module Namespace
class MyModel < Sequel::Model('myschema.MyModelTable')
end
end
它抱怨构造函数中的 'myschema.MyModelTable'。我也试过 set_dataset('myschema.MyModelTable') 但没有成功。
文档似乎对如何执行此操作有点不透明
我用下面的代码解决了这个问题
module Namespace
class MyModel < Sequel::Model(Sequel.qualify(:myschema,:MyModelTable))
end
end
可以在测试中找到更多示例here
这样做:
class MyModel < Sequel::Model(:myschema__MyModelTable)
end
有两个下划线。这是 Sequel 的 tinytds 适配器用来指定模式的约定。参见第 194 行:https://github.com/jeremyevans/sequel/blob/master/lib/sequel/adapters/tinytds.rb
一直在转动我的轮子。如何使用 sequel gem 指定自定义 table 映射?
我已经完成了以下操作
init.rb
OTHER_DB = Sequel.connect(:adapter => 'tinytds', :host => 'host1', :database => 'mydatabase', :user => 'myuser', :password => 'mypassword')
Namespace::MyModel.db = OTHER_DB
MyModel.rb
module Namespace
class MyModel < Sequel::Model('myschema.MyModelTable')
end
end
它抱怨构造函数中的 'myschema.MyModelTable'。我也试过 set_dataset('myschema.MyModelTable') 但没有成功。
文档似乎对如何执行此操作有点不透明
我用下面的代码解决了这个问题
module Namespace
class MyModel < Sequel::Model(Sequel.qualify(:myschema,:MyModelTable))
end
end
可以在测试中找到更多示例here
这样做:
class MyModel < Sequel::Model(:myschema__MyModelTable)
end
有两个下划线。这是 Sequel 的 tinytds 适配器用来指定模式的约定。参见第 194 行:https://github.com/jeremyevans/sequel/blob/master/lib/sequel/adapters/tinytds.rb