2011-12-27 84 views
1

嗨我想添加一個數據庫到我的rails應用程序。我一直在使用的sqlite3稱爲proto_development創建一個數據庫,但是當我去使用耙分貝:創建命令我碰到下面的錯誤耙分貝:創建「未知could'n解析YAML」sqlite3

ROOT\first_app>rake db:create --trace 
    ** Invoke db:create (first_time) 
    ** Invoke db:load_config (first_time) 
    ** Invoke rails_env (first_time) 
    ** Execute rails_env 
    ** Execute db:load_config 
    rake aborted! 
    (<unknown>): couldn't parse YAML at line 9 column 12 
    C:/Ruby193/lib/ruby/1.9.1/psych.rb:154:in `parse' 
    C:/Ruby193/lib/ruby/1.9.1/psych.rb:154:in `parse_stream' 
    C:/Ruby193/lib/ruby/1.9.1/psych.rb:125:in `parse' 
    C:/Ruby193/lib/ruby/1.9.1/psych.rb:112:in `load' 
    ROOT/first_app/sqlite3-ruby/ruby/1.9.1/gems/railties-3.1.0/lib/rails/application/configuration.rb: 
    100:in `database_configuration' 
    ROOT/first_app/sqlite3-ruby/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/railties/database 
    s.rake:6:in `block (2 levels) in <top (required)>' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:205:in `call' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:200:in `each' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:200:in `execute' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain' 
    C:/Ruby193/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:176:in `block in invoke_prerequisites' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:174:in `each' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:174:in `invoke_prerequisites' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:157:in `block in invoke_with_call_chain' 
    C:/Ruby193/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' 
    C:/Ruby193/lib/ruby/1.9.1/rake/task.rb:144:in `invoke' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:94:in `each' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:88:in `top_level' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:66:in `block in run' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
    C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:63:in `run' 
    C:/Ruby193/bin/rake:32:in `<main>' 
    Tasks: TOP => db:create => db:load_config 

下面是我的YAML文件: #的SQLite 3.x版 #創業板安裝sqlite3的 #確保SQLite的3寶石在你的Gemfile #寶石定義的 'sqlite3的'

development: 

     adapter: sqlite3 

     database: db/proto_development.sqlite3 

     pool: 5 

     timeout: 5000 
     username: root 
     password: "p" 




    # 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: sqlite3 

     database: db/test.sqlite3 

     pool: 5 

     timeout: 5000 
     username: root 
     password: "p" 




    production: 

     adapter: sqlite3 

     database: db/production.sqlite3 

     pool: 5 
     timeout: 5000 
     username: root 
     password: "p" 

你可以提供任何幫助將非常感激。

感謝

+0

你可以嘗試使用http://pastie.org嗎?很難說出錯的那一行。 – 2011-12-27 01:23:27

+0

你的Ruby版本是什麼? – 2011-12-27 03:19:01

+0

我已將它放在pastie上請按照此鏈接http://pastie.org/pastes/3082439 – user1104150 2011-12-28 01:58:41

回答

2

確保你在你的database.yml文件的密碼是一個字符串,如不是所有的數字。例如,321會出現錯誤,b321會起作用。這可能工作。

相關問題