【发布时间】:2012-05-11 17:01:59
【问题描述】:
目前,我正在让 JRuby on Rails 应用程序使用 DataMapper 访问 Oracle 数据库。我想知道是否有一个配置/例程来访问来自不同用户/模式的表,例如:
SELECT * FROM "SCHEMAXY"."TABLEXY";
我已经实现了一个 hack,通过指定架构和表名来完成这项工作,但我怀疑这是一个很好的解决方案。
class Tablexy
include DataMapper::Resource
storage_names[:default] = "SCHEMAXY.TABLEXY"
end
破解(ish)
# Replace a dot in the name by a quoted one
# so "NAMESPACE.TABLE" gets "NAMESPACE"."TABLE"
module DataMapper
module Adapters
class OracleAdapter
def quote_name(name)
super.gsub('.', '"."')
end
end
end
end
我希望 DataMapper 中有一个集成的解决方案。
【问题讨论】:
标签: ruby-on-rails oracle schema jruby datamapper