Mysql gem和Rails3

时间:2012-03-23 23:42:39

标签: mysql ruby-on-rails-3

我正在尝试在我的Gemfile中安装mysql gem。我打下这个:

group :development, :test do

  #gem 'sqlite3-ruby', :require => 'sqlite3'

  #using mysql gem
  gem 'mysql', '2.8.1'

end

我运行bundle install,一切运行正常。好的,当我运行“rake db:reset”时,我得到了这个:

Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add it to Gemfile.)

Tasks: TOP => db:drop => db:load_config
(See full trace by running task with --trace)

现在为什么它甚至会引用sqlite3,因为我使用的是mysql?

2 个答案:

答案 0 :(得分:2)

我建议你使用mysql2 gem而不是mysql(参见:What the difference between mysql and mysql2 gem

此外,您需要更改“config / database.yml”文件,可能现在看起来像这样:

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

这意味着Rails尝试为您的数据库使用sqlite3而不是mysql。 Rails指南中有一节介绍如何为MySQL更改此内容:http://guides.rubyonrails.org/getting_started.html#configuring-a-database

答案 1 :(得分:0)

看起来您创建了一个rails应用程序而未指定您将使用MySql数据库。只是一个想法...

你跑了吗

rails new APP_NAME -d mysql -- This will create the app configured to use MySQL

rails new APP_NAME - 这将创建配置为使用SQLLite3的应用程序