2012-05-17 44 views
1

我已經在我工作的Rails應用程序中爲ActiveRecord打了補丁,而且我正準備提供一個請求。我目前陷入困境,試圖讓MySql測試運行。Get Rails ActiveRecord測試運行MySQL - test/config.yml中的用戶名被忽略

我使用提供的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' 

任何想法如何解決這個問題?

==編輯

我加了putsRakefile,看看它試圖執行,並得到了...

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

...這看起來不錯。手動執行,我得到相同的錯誤。顯然,--user選項被忽略。我跑mysql --help,它看起來像--user是正確的選項傳遞。

+0

那些erros說你正試圖與用戶連接',這樣的事情不存在 –

+0

我知道。我不知道的是爲什麼它認爲我試圖以該用戶的身份連接,當配置文件指定'用戶名:rails' –

+0

upvoted你的問題,看看是否有其他人來救援 –

回答

2

我設法讓它現在工作。

錯誤消息是非常誤導。實際上,正在發送正確的用戶名,但用戶不存在,因爲我沒有正確創建它,導致錯誤。

指定用戶名'rails'導致連接爲'rails'@'localhost',因此必須創建的用戶名是'rails'@'localhost',而不是'rails'。我想很久以前我就知道這一點,但是現在我一直在使用PostgreSQL很久,所以忘記了。

相關問題