尝试生成应用程序时出现以下错误。
我有一个带有我的数据库登录信息的 database.yml,但不确定这个错误到底是什么。有谁知道它是什么?
我假设它是验证登录到测试数据库。
尝试生成应用程序时出现以下错误。
我有一个带有我的数据库登录信息的 database.yml,但不确定这个错误到底是什么。有谁知道它是什么?
我假设它是验证登录到测试数据库。
确保为development
环境配置了您的数据库用户名和密码,而不仅仅是test
环境。初始 Rails 应用程序设置在那里。
该test
数据库由测试使用,例如rake spec
or rake test
,并且development
当您使用诸如rails generate
or之类的 Rails 时使用该数据库rails console
。
一个典型的设置如下:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: foo_development
pool: 5
username: db_username
password: db_password
socket: /tmp/mysql.sock
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: foo_test
pool: 5
username: db_username
password: db_password
socket: /tmp/mysql.sock
为什么要让 root 用户访问您的应用程序?
建议您创建一个不同的用户并向该用户授予所有权限,然后使用这些凭据配置您的 database.yml。
我想为此贡献我的答案。这听起来有点业余,但它可能会帮助一些和我有同样问题的可怜的家伙。
我的密码database.yml
配置如下:
development:
<<: *default
database: my_db_name
username: my_username
password: !?my_password913
这是一个新手错误,但它让我搞砸了几分钟。如果您使用特殊字符,请确保用引号括起您的密码,因为 ! 例如将评估为 false 的布尔表达式,这将mysql2
忽略密码字段并发送password=no
谢谢!