ローカル環境(development)でのCronの実行時にmysql.ymlの読み込みがdevelopmentの設定でなくproductionの設定になります。
developmentの設定で実行させたいのですが、ここを確認するなど良いなどあればご教授頂けると幸いです。
Cronはgemのwheneverを利用しています。
$ mysql_config --socket /tmp/mysql.sock
↑ターミナルにてmysqlの接続先を確認。
rails c にてCronに設定しているプログラムを動かすと、問題なくDBにアップロード等を行えます。
Cronで動かす場合も途中処理は問題なく実行されるのですがDBの読み込みを行うとエラーとなります。
↓mysql.ymlの設定です。
mysql.yml
1default: &default 2 adapter: mysql2 3 encoding: utf8 4 collation: utf8_general_ci 5 pool: 5 6 username: root 7 8 9development: 10 <<: *default 11 database: aiueo_development 12 password: 13 socket: /tmp/mysql.sock 14 15production: 16 <<: *default 17 database: aiueo_production 18 password: <%= ENV['MYSQL2_PASS'] %> 19 socket: /var/lib/mysql/mysql.sock 20
エラー内容など
.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/mysql2-0.3.20/lib/mysql2/client.rb:70:in `connect': Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (Mysql2::Error)
↑本当であればsocketは"development"の" /tmp/mysql.sock "になると思うのですが。。。productionの方を読み込んでいます。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー