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