请帮我解决我的问题 我在这里阅读了所有主题,但仍然无法理解正在发生的事情
所以我运行git push heroku master
这是我得到的
rake aborted!
Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfile.)
之后我更新了我的Gemfile,这里是
ruby '1.9.3'
source 'https://rubygems.org'
gem 'rails', '3.2.13'
gem 'mysql2'
gem 'pg'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'therubyracer', :platform => :ruby
end
gem 'less-rails', '~> 2.2.6'
gem 'sass-rails', '~> 3.2.3'
gem 'twitter-bootstrap-rails', '2.2.4'
gem 'jquery-rails'
gem 'devise'
gem 'haml', '~> 4.0.0'
gem 'haml-rails'
gem 'cancan'
gem 'rails-i18n', '~> 3.0.0.pre'
gem 'i18n-js', :github => 'fnando/i18n-js'
gem 'obscenity'
gem 'thin'
gem 'will_paginate-bootstrap'
gem 'nifty-generators', :group => :development
gem 'rails_12factor'
gem 'mocha', :group => :test
之后bundle install
显示错误
这里是config / database.yml
production:
adapter: mysql2
host: 127.0.0.1
encoding: utf8
reconnect: false
database: xxx_production
pool: 5
username: root
password: "xxxx"
socket: /var/run/mysqld/mysqld.sock
development:
adapter: mysql2
host: localhost
encoding: utf8
reconnect: false
database: xxx_development
pool: 5
username: root
password: "xxxx"
socket: /var/run/mysqld/mysqld.sock
test:
adapter: mysql2
host: localhost
encoding: utf8
reconnect: false
database: xxx_test
pool: 5
username: root
password: "xxxx"
socket: /var/run/mysqld/mysqld.sock
你们有什么想法吗?
提前致谢!
答案 0 :(得分:1)
Heroku在PostgreSQL数据库上运行最简单。
您同时安装了pg
和mysql2
,并且正在将mysql2
用于生产数据库。
在Heroku的生产中使用PG数据库要容易得多。
要执行此操作,请首先清除database.yml的生产部分 然后,在你的Gemfile中,将pg gem放在生产部分中,如下所示:
group :production do
gem "pg"
end
如果您真的想使用mysql,请查看这些文章
答案 1 :(得分:0)
我遇到了几乎完全相同的问题,将此解决方案发布到此question,其症状与此处描述的相似。
基本上:在执行git push heroku master
命令之前,您是否更新了git存储库?
我假设你包含了pg
gem,因为你觉得你必须使用带有 heroku 的PostgreSQL内容,所以我没有在你的production
部分中解决mysql声明他们无论如何都会被剥夺。
(我没有将此作为评论的声誉)