Ruby on rails 雷克流产了!第1行第9列出现语法错误:` ;适配器:sqlite3';

Ruby on rails 雷克流产了!第1行第9列出现语法错误:` ;适配器:sqlite3';,ruby-on-rails,ruby-on-rails-3.1,rubygems,Ruby On Rails,Ruby On Rails 3.1,Rubygems,我正试图在生产环境中使用mysql作为数据库,如敏捷4rth版第16章第234页所述。据我所知,这个问题看起来就像danymmc在一月份提出的问题(http://stackoverflow.com/questions/8809099/rails-app-rake-dbmigrate-aborted-syntax-error)这个解决方案不适合我 我的工作对象是: Ruby 1.9.2 Rails 3.1.0 rubygems 1.8.18 My database.yml是: developme

我正试图在生产环境中使用mysql作为数据库,如敏捷4rth版第16章第234页所述。据我所知,这个问题看起来就像danymmc在一月份提出的问题(http://stackoverflow.com/questions/8809099/rails-app-rake-dbmigrate-aborted-syntax-error)这个解决方案不适合我

我的工作对象是:

Ruby 1.9.2
Rails 3.1.0
rubygems 1.8.18
My database.yml是:

development:
  adapter: sqlite3
  database: development
  pool: 5
  timeout: 5000
production:
  adapter: mysql
  database: depot_production
  encoding: utf8
  host: localhost
  password: password
  pool: 5
  reconnect: false
  socket: /var/run/mysqld/mysqld.sock
  username: username
test:
   adapter: sqlite3
   database: db/test.sqlite3
   pool: 5
   timeout: 5000
当我跟踪rake db:setup RAILS\u ENV=“production”时,我得到:

我试着用

gem update -system
而且它也不起作用

最有趣的是,我的开发机器和生产机器是一样的,当然,在开发中(localhost:3000,rails服务器启动)工作得非常好


任何帮助都将不胜感激。

问题可能是您的测试环境嵌套1个空间太深,导致YML无效。确保缩进2个空格而不是3个。

尝试使用此
数据库。yml

development:
  adapter: sqlite3
  database: development
  pool: 5
  timeout: 5000
production:
  adapter: mysql
  database: depot_production
  encoding: utf8
  host: localhost
  password: password
  pool: 5
  reconnect: false
  socket: /var/run/mysqld/mysqld.sock
  username: username
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

注意空格,它们很重要

您可以使用主机名:而不是database.yml文件中的主机。

您好!谢谢你的快速回答。事实上,我一分钟前刚刚解决了这个问题,这只是一个在标识上更改空格标签的问题。。。抱歉打扰您:S,非常感谢。如果没有问题,请删除该问题。接受一些答案。这有什么帮助?
gem update -system
development:
  adapter: sqlite3
  database: development
  pool: 5
  timeout: 5000
production:
  adapter: mysql
  database: depot_production
  encoding: utf8
  host: localhost
  password: password
  pool: 5
  reconnect: false
  socket: /var/run/mysqld/mysqld.sock
  username: username
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000