【发布时间】:2013-12-16 03:07:52
【问题描述】:
我无法让 rake db:migrate 在 Heroku 上的 rails 4.0.1 应用程序上运行。
我猜我没有正确配置 postgres...但是阅读 heroku 上的文档并没有真正帮助,我不知道该怎么做。我对 heroku 或 postgres 了解不多。
任何帮助或资源将不胜感激。如果还有什么我可以发布的,请告诉我。
(另外,如果重要的话,我正在使用设计)
当我运行 heroku run rake db:migrate 时,我得到了这个:
Running `rake db:migrate` attached to terminal... up, run.5077
PG::UndefinedTable: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
rake aborted!
PG::UndefinedTable: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
当我运行 heroku run rake db:setup 时,我得到了这个:
FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
... stack trace ...
Couldn't create database for {"adapter"=>"postgresql", "username"=>"aqofwrwjifcqkx", "password"=>"7yqDAx1L_4HFhw7WV3PH7ZrKyM", "port"=>5432, "database"=>"d5dvi0pjk7dgr7", "host"=>"ec2-23-21-94-137.compute-1.amazonaws.com"}
后跟同一个 PG::UndefinedTable ERROR 关系 'users' 不存在
数据库.yml:
development:
adapter: sqlite3
encoding: unicode
database: chore_app_development
pool: 5
test:
adapter: sqlite3
encoding: unicode
database: chore_app_test
pool: 5
production:
adapter: postgresql
database: chore_app_production
pool: 5
timeout: 5000
宝石文件:
source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.1'
# Database
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
# Assets
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'turbolinks'
gem 'haml-rails'
gem 'jquery-rails'
# Heroku
gem 'rails_12factor', group: :production
# Application
gem 'devise'
gem 'formtastic'
# Testing
gem 'factory_girl_rails'
【问题讨论】:
-
你的 Gemfile 是什么样的?
-
将其添加到帖子@jason328
-
Heroku 应用资源页面中是否有 postgresql 插件?
-
是的,我有 Heroku Postgresql :: Olive,显然
-
我需要把这里的用户名和密码放在我的database.yml中吗?如果是这样,我是否必须从版本控制中删除该文件(私人仓库,但仍然)
标签: ruby-on-rails ruby heroku ruby-on-rails-4 rails-postgresql