2012-03-18 15 views
1

オラクル内に小文字で二重引用符で作成された表があります。 MySQLの場合と同様です。Oracle拡張およびRailsでの小文字表の使用

Oracle拡張機能では名前の前後に二重引用符が含まれていないため、失敗します。

DESC people; 

しかし、これは代わりに動作します:

DESC "people"; 

は、どのように私はOracleは完全に私のスキーマをやり直すことなく、テーブル名を引用するように強化させることができます。ここに私のモデルbtwです。

class Person < ActiveRecord::Base 
end 

編集:

テーブル名は、コードのこの部分では、小文字のままにしてください。実際にはDESCはエラーメッセージがそうであっても呼び出されません。

https://github.com/rsim/oracle-enhanced/blob/master/lib/active_record/connection_adapters/oracle_enhanced_connection.rb#L30

+1

(長期的には)スキーマを再作成することをお勧めします。 – Ben

+0

それは私が恐れることです:-) – greut

答えて

0

をやってみます箱から出てきます。

ベンが述べたように、スキーマのやり直しはここでの解決策でした。

1

私が唯一の現実的な解決策は、Oracleはこれを処理し、あなたがルビーOCI8になりたい場合は小文字のテーブル名を使用するように強制しないようにすることです

class Person < ActiveRecord::Base 
set_table_name '"people"' 
end 
+0

'set_table_name'は' @ table_name'になりました。それは動作しません。 – greut

関連する問題