2012-03-23 89 views
1

我想在我的Gemfile中安裝mysql gem。我輸入這個:Mysql gem和Rails3

group :development, :test do 

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

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

end 

我運行bundle install,一切運行正常。好吧,當我運行「耙分貝:復位」我得到這個:

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

我會建議你使用mysql2寶石的應用,而不是mysql的一個(請參閱:What the difference between mysql and mysql2 gem

此外,您需要更改「config/database.yml」文件,可能它現在看起來像li關鍵字:

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

0

它看起來像你創建了一個rails應用程序,而沒有指定你要使用MySql數據庫。只是一個想法...

你有沒有運行

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

rails new APP_NAME - 這將創建一個配置爲使用SQLLite3