我正在尝试在我的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?
答案 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的应用程序