我必须连接到具有名为“Financeiro”的架构的旧数据库。 我将我的database.yml设置为:
...
schema_search_path: Financeiro
...
当activerecord尝试查找某些内容时,我收到以下错误:
ActiveRecord::StatementInvalid: RuntimeError: ERROR C3F000 Mschema "financeiro" does not exist F.\src\backend\catalog\namespace.c L2898 Rassign_search_path: SET search_path TO Financeiro from
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:147:in `log'
请注意,在错误消息中我得到financeiro(downcase)。 如果我将架构重命名为financeiro downcase,它运行良好。但事实并非如此 可能在生产环境中。 谢谢。
答案 0 :(得分:0)
使用引号尝试“Financeiro”。如果它进入SQL,它应该工作。 通常,SQL标准要求标识符不区分大小写,除非引用。 您可能需要做一些特殊的引用才能将双引号从yml文件传递到实际的SQL。我根本不知道Rails / Ruby。