0

ActiveRecordを使用して、thorスクリプトでデータベースへの接続を作成しています。この場合に使用しているアダプターはmysql2です。ユーザーに特定のエラーメッセージを提供するために、コードにレスキューブロックを追加したいと思います。

ローカルホストでmysqlサーバーをオフにして、(establish_connectionを使用して)接続しようとすると、次のエラーが発生します(予想どおり)

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error)

Mysql2::ErrorではなくActiveRecord::ConnectionNotEstablishedエラーが発生しないのはなぜですか?私が尋ねる理由は、Mysql2には特定のエラータイプ( https://github.com/brianmario/mysql2/blob/master/lib/mysql2/error.rbに基づく)がないのに対し、アクティブレコードには(http:// api .rubyonrails.org / files / activerecord / lib / active_record / errors_rb.html

mysql20.3.11でruby1.9.3とactiverecord3.2.8を使用する

ありがとう!

4

1 に答える 1

0

mysqlソケットを見つけるのに問題があるようです

このリンクはそれであなたを助けるかもしれません、

Ruby on Rails3OSXのソケット'/tmp/mysql.sock'を介してローカルMySQLサーバーに接続できません

于 2012-09-06T12:25:36.877 に答える