我很想在heroku实例上获取Postgres数据库,以便我可以运行数据库迁移。
我也是Heroku的新手,如果这是一个愚蠢的问题,请提前道歉:)
所以我的应用程序在Heroku上并且可以成功连接到它的数据库 - 它只是不能做任何东西,因为表没有设置。我在代码中的连接块如下所示:
if ENV['DATABASE_URL']
ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])
else
ActiveRecord::Base.establish_connection(dbconfig['development'])
end
环境变量由Heroku在部署时设置 - 这也有效。如果我在用Pry或其他东西初始化所有内容后跳入,连接效果很好。 dbconfig哈希是从我的db/config.yml
填充的,在本地工作正常。
我可以在本地系统上rake db:migrate
就好了。但是,通过heroku run rake db:migrate
尝试此操作会给我一个错误转储,以:
rake aborted!
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
我能想到的另一个奇怪的事情就是我正在使用一个名为独立迁移的gem(在Gemfile
中声明),这应该允许我在不拉入其余Rails的情况下执行此操作。
所以,我的问题是,为什么我的迁移不运行?