2011-07-20 75 views
11

我遵循来自前一组的交接包的指示。我不太了解rails或mysql2。我在Windows上。耙mysql2“未知数据库”错误

当我这样做:

rake db:migrate RAILS_ENV=production 

这是输出:

C:\jcccf-goslowserver-e30bf00>rake db:migrate RAILS_ENV=production 
(in C:/jcccf-goslowserver-e30bf00) 
rake aborted! 
Unknown database 'goslow_production' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/client.r 
b:37:in `connect' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/client.r 
b:37:in `initialize' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/active_record/c 
onnection_adapters/mysql2_adapter.rb:14:in `new' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/active_record/c 
onnection_adapters/mysql2_adapter.rb:14:in `mysql2_connection' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:230:in `new_connection' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:238:in `checkout_new_connection' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:194:in `block (2 levels) in checkout' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:190:in `loop' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:190:in `block in checkout' 
C:/Ruby192/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:189:in `checkout' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:96:in `connection' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_pool.rb:318:in `retrieve_connection' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_specification.rb:97:in `retrieve_connection' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/connect 
ion_adapters/abstract/connection_specification.rb:89:in `connection' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/migrati 
on.rb:486:in `initialize' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/migrati 
on.rb:433:in `new' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/migrati 
on.rb:433:in `up' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/migrati 
on.rb:415:in `migrate' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/railtie 
s/databases.rake:142:in `block (2 levels) in <top (required)>' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:634:in `call' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:634:in `block in execute' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:629:in `each' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:629:in `execute' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain' 
C:/Ruby192/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:581:in `invoke' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in `each' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2013:in `top_level' 
C:/Ruby192/lib/ruby/1.9.1/rake.rb:1992:in `run' 
C:/Ruby192/bin/rake:31:in `<main>' 

C:\jcccf-goslowserver-e30bf00> 

我读过有关不必使用DB:创建第一,但我很担心,我会擦除切换源代码中已经有了什么。这不合理吗?

这些是我给的指示。

... 
3. Configure your MySQL settings in config/database.yml for "production" 
4. Open the console (cmd on Windows, Terminal on Mac/Linux) and cd to the GoSlow directory 
5. Type "rake db:migrate RAILS_ENV=production" and press enter. 
6. Type "rake bootstrap:all RAILS_ENV=production" and press enter. 

(当时我以为只是我轨服务器,它没有指定)

这里是我的database.yml文件,这是在配置/ database.yml中相对于在那里我打字这些命令。

# MySQL. Versions 4.1 and 5.0 are recommended. 
# 
# Install the MySQL driver: 
# gem install 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: GoSlow_development 
    pool: 5 
    username: root 
    password: 
    host: localhost 

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run "rake". 
# Do not set this db to the same as development or production. 
test: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: GoSlow_test 
    pool: 5 
    username: root 
    password: 
    host: localhost 

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: GoSlow_production 
    pool: 5 
    username: root 
    password: [MyPassword] 
    host: localhost 

任何想法,为什么它不会工作?

回答

4

也许创造goslow_production DB

CREATE DATABASE goslow_production; 
57

运行命令

rake db:create 

足以避免错误。

+5

此评论应标记为解决方案恕我直言 –

+0

我第@ArielCabib评论。它更具体的轨道。尽可能地,我们不想在数据库本身内执行。 –

相关问题