1

私が取り組んでいるRailsアプリでActiveRecordにモンキーパッチを適用し、プルリクエストに貢献する準備をしようとしています。私は現在、MySql テストを実行しようとして行き詰まっています。

提供された test/config.yml ファイルを使用して、パスワードなしで「rails」ユーザーを作成しました。その後、実行しようとするとrake mysql:build_databases...

ERROR 1044 (42000) at line 1: Access denied for user ''@'localhost' to database 'activerecord_unittest'
ERROR 1044 (42000) at line 1: Access denied for user ''@'localhost' to database 'activerecord_unittest2'

これを解決する方法はありますか?

==編集

puts何を実行しようとしているのかを確認するためににa を追加したRakefileところ、...

mysql --user=rails -e "create DATABASE activerecord_unittest DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci "

...これは問題ないようです。手動で実行すると、同じエラーが発生します。どうやら、 --user オプションは無視されています。を実行しましたが、合格するための正しいオプションのmysql --helpようです。--user

4

1 に答える 1

2

私は今それを機能させることができました。

エラー メッセージは非常に誤解を招くものです。実際には正しいユーザー名が送信されていましたが、適切に作成しなかったためにユーザーが存在せず、エラーが発生しました。

'rails' のユーザー名を指定すると、 として接続される'rails'@'localhost'ため、作成する必要があるユーザー名は'rails'@'localhost'ではなく'rails'です。これはかなり前から知っていたと思いますが、PostgreSQL をずっと使ってきたので忘れていました。

于 2012-05-18T00:22:00.087 に答える