2011-06-01 3 views
0

Je suis en train d'installer une base de données MySQL, mais je reçois ce message d'erreur:Rails: rake db: créer une erreur mysql

 
rake db:create 
(in /Users/yookd/Desktop/rails/blog) 
WARNING: Global access to Rake DSL methods is deprecated. Please Include 
    ... Rake::DSL into classes and modules which use the Rake DSL methods. 
WARNING: DSL method Blog::Application#task called at /Library/Ruby/Gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks' 
db/test.sqlite3 already exists 
rake aborted! 
uninitialized constant Mysql2 

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

Toute aide à ce sujet? (directions suivantes http://guides.rubyonrails.org/getting_started.html)

EDIT :::

Comment puis-je utiliser MySQL comme ma base de données, par opposition à SQLite? Dans le gemfile, il indique explicitement: gem 'sqlite' ... dois-je remplacer cette ligne par quelque chose comme gem mysql?

Répondre

2

Ceci est un problème connu. Voir: Rails - rake db:create error

MAIS notez que Rake 0.9.1 a été publié, ce qui répare les choses. Alors d'abord râteau de mise à niveau try avec:

gem update rake 

et mettre à jour votre paquet:

bundle update rake 
0

Pour modifier, oui, utiliser MySQL vous devez d'abord MySQL installé et configuré sur votre système. Ensuite, dans votre Gemfile, enlever 'bijou sqlite' et le remplacer par:

gem 'mysql' 

Ensuite, dans votre config/database.yml, elle a créé quelque chose de similaire à:

development: 
    adapter: mysql 
    database: name_of_database 
    pool: 5 
    timeout: 5000 
    host: localhost 
    password: mysql_password 

Faites la même chose pour test et production.