我已经开始了一个新的 rails 3.2 项目,默认情况下它使用 SQLite。
我的数据库中还没有数据,现在我打算使用 MySQL,所以我在 Gemfile 中添加了 gem 'mysql2' 并运行了 'bundle install'。
现在,
我有点不确定该怎么做。我读过我应该只更改database.yml.
但我想知道为什么我应该输入 MySQL 的用户和密码值。
是否应该在 MySQL 中手动设置这些值?
如果是这样,这是如何完成的?为什么 SQLite 不要求用户和密码?
我已经开始了一个新的 rails 3.2 项目,默认情况下它使用 SQLite。
我的数据库中还没有数据,现在我打算使用 MySQL,所以我在 Gemfile 中添加了 gem 'mysql2' 并运行了 'bundle install'。
现在,
我有点不确定该怎么做。我读过我应该只更改database.yml.
但我想知道为什么我应该输入 MySQL 的用户和密码值。
是否应该在 MySQL 中手动设置这些值?
如果是这样,这是如何完成的?为什么 SQLite 不要求用户和密码?
database.yml这是mysql 作为 DB的文件片段。请确保mysql2在 Gemfile 中添加并运行bundle install
# Ensure the MySQL gem is defined in your Gemfile
# gem 'mysql2'
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: example_development
pool: 5
username: root
password: root
http://www.tutorialspoint.com/ruby-on-rails/rails-database-setup.htm显示了您需要的语法的快速示例。你真的很接近,你只需要通过授予它对你的数据库的权限来创建一个新的 mysql 用户。
顺便说一句,这是我更喜欢使用 postgresql 开发的原因之一。配置 pg_hba.conf 以向本地用户授予权限后,您可以省略 database.yml 中的用户名和密码字段。当你将它与部署到 heroku (他们用他们的生产值覆盖你的 database.yml )结合起来时,它使管理(和共享)这个文件变得非常简单。