我正在使用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选项here
但是,我没有太多运气。
任何heroku / 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'
)
答案 0 :(得分:1)
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.
可以帮助你missing-database-url
修改强>
确认正在正确解析您的数据库YAML文件。
ruby -ryaml -e "File.open('config/database.yml') { |f| puts YAML.load(f).inspect }"
配置PostgreSQL数据库
您的config / database.yml已自定义以使用PostgreSQL数据库:
development:
adapter: postgresql
encoding: unicode
database: MyDb
pool: 5
username: meuser
password:
另一个提示
看看你的Rails应用程序的根目录中是否有一个名为Gemfile
的文件
寻找gem 'pg'
,否则添加它。