ruby-on-rails - rake db:create“未知的无法解析YAML” sqlite3

标签 ruby-on-rails parsing sqlite rake yaml

嗨,我正在尝试向我的Rails应用添加数据库。我已经使用sqlite3创建了一个名为proto_development的数据库,但是当我使用rake db:create命令时,出现以下错误

    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
#gem install sqlite3
#确保在您的Gemfile中定义了SQLite 3 gem
#gem'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"




您能提供的任何帮助将不胜感激。

谢谢

最佳答案

确保您在database.yml文件中的密码是一个字符串,因为不是所有数字。例如,321将产生错误,b321将起作用。这可能有效。

关于ruby-on-rails - rake db:create“未知的无法解析YAML” sqlite3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640365/

相关文章:

ruby-on-rails - Rails 中的 Gemfile 依赖项

java - 使用标记解析表达式

android - 使用钛appcelerator中的json将远程mysql数据插入到sqlite中

android - 如何在首次安装时向数据库插入名称,显示带有xml的自定义对话框,

ruby-on-rails - 通过 bundler 安装 sqlite3 gem 时出错

ruby-on-rails - #<ActiveRecord::Relation []> 的未定义方法 `authenticate'

ruby-on-rails - 类="with equal sign in front"和类:"with Colon"的区别

ruby-on-rails - 使用 Capybara 和 rspec 单击确认警报

c# - 解析高级 CSV 文件

python - 如何使用 Pandas 重构简单的数据帧解析代码