Mysql &引用;解析config/database.yml“时出现YAML语法错误;RubyonRails

Mysql &引用;解析config/database.yml“时出现YAML语法错误;RubyonRails,mysql,ruby-on-rails,database,yaml,mariadb,Mysql,Ruby On Rails,Database,Yaml,Mariadb,每次运行rails应用程序时,我都会在database.yml的production部分中遇到指向“encoding:utf8”的错误。如果我重新加载页面,它会将我带到应用程序,但我担心数据库有问题 这是我的database.yml文件夹: default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: b6

每次运行rails应用程序时,我都会在database.yml的production部分中遇到指向“encoding:utf8”的错误。如果我重新加载页面,它会将我带到应用程序,但我担心数据库有问题

这是我的database.yml文件夹:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: b6f4e1d86a2a08
  password: 25205573
  host: us-cdbr-iron-east-05.cleardb.net

development:
  <<: *default
  database: DBProj_development

test:
  <<: *default
  database: DBProj_test


production:
  <<: *default
  adapter: mysql2
    encoding: utf8
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
    username: b6f4e1d86a2a08
    password: 25205573
    host: us-cdbr-iron-east-05.cleardb.net
    database: @localhost
default:&default
适配器:mysql2
编码:utf8
游泳池:
用户名:b6f4e1d86a2a08
密码:25205573
主持人:us-cdbr-iron-east-05.cleardb.net
发展:

你有两个问题。生产标签中适配器下方的压痕级别错误。数据库标签的值不能以
@
开头,因此必须将其置于引号之间:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: b6f4e1d86a2a08
  password: 25205573
  host: us-cdbr-iron-east-05.cleardb.net

development:
  <<: *default
  database: DBProj_development

test:
  <<: *default
  database: DBProj_test


production:
  <<: *default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: b6f4e1d86a2a08
  password: 25205573
  host: us-cdbr-iron-east-05.cleardb.net
  database: "@localhost"
default:&default
适配器:mysql2
编码:utf8
游泳池:
用户名:b6f4e1d86a2a08
密码:25205573
主持人:us-cdbr-iron-east-05.cleardb.net
发展:

在查看此通知之前,我确实看到了这一点。现在一切都好了。我两天来一直在努力解决这个问题。非常感谢。下次您可以通过执行以下操作从irb解析YAML文件:
require'YAML';YAML.load(File.open('./config/database.yml'))
通过这种方式,您可以得到一条更好的错误消息,告诉您哪一行有错误,有时甚至告诉您错误是什么。