2011-12-26 4 views
0

私はmysqlを使用して、共有ホストに私のレールアプリケーションを配備しています。しかし、開発中は、sqliteデータベースを使用しています。私のクエリは、これらの両方の環境で動作する必要があります。私は以前、両方のデータベースで作業したい連結を使用してクエリについて尋ねたい: Can MySQL concatenate strings with ||Railsでsql_modeを設定する

私は私がPIPES_AS_CONCATまたはANSIへのsql_modeを設定する必要があることを言われました。今私の質問は、私のアプリケーションでsql_modeをどこにどのように設定するべきかです。私は一般的なコードを変更しないように、イニシャライザとして行うことができますか?

私はここからhttp://gabrito.com/post/configuring-mysql-sql-mode-in-ruby-on-railsのコードスニペットを使ってみましたが、それはうまくいかなかった - 私は接続メソッドを推測しています。

ご迷惑をおかけして申し訳ありません。私はレール3.1.3を使用しています。

答えて

1

おそらくおそらくmysql2アダプタを使用している可能性があります。代わりにActiveRecord::ConnectionAdapters::Mysql2Adapterにそのメソッドを上書きしてみてください。

個人的に私は、開発や生産にさまざまなデータベースを使用していると困っていると思います(おそらく、さまざまなデータベースで動くように設計されたものを書いているのでない限り)。データベース間の違いは微妙な場合があります。例えば、sqlite3はカラム型の場合は柔軟性の高いビューを持っています。VARCHAR(255)と宣言されたカラムに> 255文字を挿入できますが、mysqlはデータを切り捨てます。

+0

はい、私は開発にもmysqlを使用することにしました。だから私はパイプの代わりに連結を使用しています。私はすぐにクラス名をMysql2Adapterに変更しようとしていますが、正しく動作したら答えをマークしてください:) –

関連する問題