railsが2.0にアップグレードしたときのoracle構成の変更
1705 ワード
詳細
昨年、rails 1.2.3でoracleの応用をしたことがあります.その後、rails 2.0が出てから、データベースはmysqlを使っています.この2、3日oracleで使用する必要があるので、rails 2を0.2 oracleにアップグレードします.面倒なことが多いとは思わなかった.
一般的なアップグレード
2.0以降、ビジネスデータベースのadapterはコアから移動され、現在、新しいビジネスデータベースのadapterはactiverecord-XYZ-adapterの命名規則、すなわちactiverecord-oracle-adapterに従う.
インストールが必要です.アダプタ(adapter) gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org
ruby-oci 8駆動 gem install ruby-oci 8またはruby ruby-oci 8-1.0.0-mswin 32.rb
oracleクライアント その後のトラブル
いくつかのヒントを押して、ymlファイルの中のadapter:ociをadapter:oracleに変えて、仕事ができると思っていました.しかし、結果はがっかりして、いつもTNSの間違いを報告しています.
悔しい解決策
Googleを繰り返してみると、E:InstantRails-2.0-winrubylibrubygems1.8gemsactiverecord-oracle-adapter-1.0.0.9216libactive_record\connection_adaptersの下にあるoracle_adapter.rbはociと改名した.rbは、adapterを再びociに変更する.やってみると、この技は効果的だ.その後、移行タスクの実行などが正常になる.
やっと飛び出した
このように使うことができますが、TDDで標榜するrailsがこんなに大きなバグを残すとは信じられません.上の解決策は本当に悔しいです.
翌日また来てやっと問題点を発見した.
以前にoracle向けのアプリケーションがあったので、ymlのプロファイルはcopyである.書き方は以下の通りです.
真ん中のociをoracleに変えただけで、実際にrails 2.0ではymlのコンフィギュレーションアイテムもadapter化されています.つまり、すべてのデータベースのコンフィギュレーションは統一的に処理され、上のhostはmysqlなどと同じdatabaseになります.新しい書き方は以下の通りです.
これでは、すべての状況が正常です.
肝心なのはどの配法が問題を解決するかではなく、railsのテストプログラムに対する信頼と自信である.結局私はrailsとtddのメリットに自信を持っています.
rails統一adapterのやり方も悪いとは言えないが、確かにアップグレードの面倒が増え、ドキュメントのサポートも少なくなった.
http://soft.chinabyte.com/293/7782793.shtml
昨年、rails 1.2.3でoracleの応用をしたことがあります.その後、rails 2.0が出てから、データベースはmysqlを使っています.この2、3日oracleで使用する必要があるので、rails 2を0.2 oracleにアップグレードします.面倒なことが多いとは思わなかった.
一般的なアップグレード
2.0以降、ビジネスデータベースのadapterはコアから移動され、現在、新しいビジネスデータベースのadapterはactiverecord-XYZ-adapterの命名規則、すなわちactiverecord-oracle-adapterに従う.
インストールが必要です.
いくつかのヒントを押して、ymlファイルの中のadapter:ociをadapter:oracleに変えて、仕事ができると思っていました.しかし、結果はがっかりして、いつもTNSの間違いを報告しています.
悔しい解決策
Googleを繰り返してみると、E:InstantRails-2.0-winrubylibrubygems1.8gemsactiverecord-oracle-adapter-1.0.0.9216libactive_record\connection_adaptersの下にあるoracle_adapter.rbはociと改名した.rbは、adapterを再びociに変更する.やってみると、この技は効果的だ.その後、移行タスクの実行などが正常になる.
やっと飛び出した
このように使うことができますが、TDDで標榜するrailsがこんなに大きなバグを残すとは信じられません.上の解決策は本当に悔しいです.
翌日また来てやっと問題点を発見した.
以前にoracle向けのアプリケーションがあったので、ymlのプロファイルはcopyである.書き方は以下の通りです.
oracle:
adapter: oracle
username: e
password: e
host: 10.11.16.63/
真ん中のociをoracleに変えただけで、実際にrails 2.0ではymlのコンフィギュレーションアイテムもadapter化されています.つまり、すべてのデータベースのコンフィギュレーションは統一的に処理され、上のhostはmysqlなどと同じdatabaseになります.新しい書き方は以下の通りです.
oracle:
adapter: oracle
username: e
password: e
database: //10.11.16.63/e
これでは、すべての状況が正常です.
肝心なのはどの配法が問題を解決するかではなく、railsのテストプログラムに対する信頼と自信である.結局私はrailsとtddのメリットに自信を持っています.
rails統一adapterのやり方も悪いとは言えないが、確かにアップグレードの面倒が増え、ドキュメントのサポートも少なくなった.
http://soft.chinabyte.com/293/7782793.shtml