我正在使用Heroku,并创建了一个新的应用程序和一个Postgres空数据库设置。
我已经安装了Heroku工具带,可以登录到Heroku并成功运行以下命令:
c:>heroku pg:info mydbname --app my-app-name
和
c:>heroku pg:credentials mydbname --app my-app-name
现在,我已经创建了我的应用程序和一个空数据库,我正在尝试成功连接到数据库。
我正在使用Ruby。我有我的项目的本地副本,我试图创建一个简单的ruby文件,使连接到数据库。我只是想证明我可以从我的应用程序连接到数据库。
我正在看这里的activerecord选项
但是,我运气不太好。
有没有英雄/postgres大师能帮我指出正确的方向?数据库为空。作为第一步,我要做的就是成功地连接到数据库。
Ruby文件:require 'active_record'
require 'uri'
db = URI.parse(ENV['DATABASE_URL'] || 'postgres://localhost/jade')
ActiveRecord::Base.establish_connection(
:adapter => db.scheme == 'postgres' ? 'postgresql' : db.scheme,
:host => db.host,
:port => db.port,
:username => db.user,
:password => db.password,
:database => db.path[1..-1],
:encoding => 'utf8'
)
ENV['DATABASE_URL']的内容是什么
你能试试吗使user-env-compile
在构建期间使应用程序的配置变量存在,允许在更接近于运行时环境的环境中运行构建时优化。这也允许使用配置变量来配置构建。
$ heroku labs:enable user-env-compile -a myapp
-----> Enabling user-env-compile for myapp... done
WARNING: This feature is experimental and may change or be removed without notice.
可能会帮助你编辑:
确认您的数据库YAML文件被正确解析。
ruby -ryaml -e "File.open('config/database.yml') { |f| puts YAML.load(f).inspect }"
配置PostgreSQL数据库
配置/数据库。
development:
adapter: postgresql
encoding: unicode
database: MyDb
pool: 5
username: meuser
password:
另一个提示
看看你的Rails应用程序的根目录中是否有一个名为Gemfile
的文件。
寻找gem 'pg'
,否则添加它。