RAILS_ENV=production bundle exec rake db:migrate --trace
在执行上面这个命令迁移数据库时,总是报错误:
psych.rb:203:in `parse': (<unknown>): mapping values are not allowed in this context
打开psych.rb的源码203行可知,是因为yaml文件有问题。需要检查你的database.xml格式和内容是否正确。
最简单的处理方法是用database.xml.example还原这个配置文件,然后再修改。
cp database.yml.example database.yml
然后如果遇到找不到mysql的错误,请确认你的ruby版本,对于ruby1.9版本,驱动应该是mysql2
示例配置如下:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: redmine encoding: utf8
如果不存在上述的路径和文件,并且你的mysql.sock安装在默认路径下:/tmp/mysql.sock,那么做个软链接即可。
mkdir /var/lib/mysql
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
并注意修改其权限为755:
chmod -R 755 /var/lib/mysql