我正在使用Cloud9与Ruby和Sinatra开发一个站点,我正在部署到Openshift。我已经为mySQL和PhpMyAdmin设置了磁带。我遇到的问题是使用Sequel连接到数据库。
这就是我所拥有的
DBS = Sequel.connect('mysql://OPENSHIFT_MYSQL_DB_USERNAME:OPENSHIFT_MYSQL_DB_PASSWORD@OPENSHIFT_MYSQL_DB_HOST:OPENSHIFT_MYSQL_DB_PORT')
heros = DBS[:superheros]
get '/mysql' do
"#{heros.first[:name]}"
#"mysql"
end
我也试过
db_user = ENV['OPENSHIFT_MYSQL_DB_USERNAME']
db_pass = ENV['OPENSHIFT_MYSQL_DB_PASSWORD']
db_host = ENV['OPENSHIFT_MYSQL_DB_HOST']
db_port = ENV['OPENSHIFT_MYSQL_DB_PORT']
DBS = Sequel.connect('mysql://#{db_user}:#{db_pass}@#{db_host}/#{db_port}')
所有我回来的都是内部服务器错误
任何人都可以向我提供一些关于如何连接的提示吗?
由于
答案 0 :(得分:0)
DBS = Sequel.connect('mysql://#{db_user}:#{db_pass}@#{db_host}/#{db_port}')
How to connect to DB with Sequel
正确连接字符串的示例:
mysql://user:password@host:port/database
尝试类似的东西
db_user = ENV['OPENSHIFT_MYSQL_DB_USERNAME']
db_pass = ENV['OPENSHIFT_MYSQL_DB_PASSWORD']
db_host = ENV['OPENSHIFT_MYSQL_DB_HOST']
db_port = ENV['OPENSHIFT_MYSQL_DB_PORT']
db_name = ENV['OPENSHIFT_APP_NAME']
DBS = Sequel.connect('mysql://#{db_user}:#{db_pass}@#{db_host}:#{db_port}/#{db_name}')
答案 1 :(得分:0)
谢谢,我尝试了各种排列,但最终还是有效了
db_user = ENV['OPENSHIFT_MYSQL_DB_USERNAME']
db_pass = ENV['OPENSHIFT_MYSQL_DB_PASSWORD']
db_host = ENV['OPENSHIFT_MYSQL_DB_HOST']
db_port = ENV['OPENSHIFT_MYSQL_DB_PORT']
DBS = Sequel.connect(:adapter=>'mysql', :host=>db_host, :database=>"prescreen", :user=>db_user, :password=>db_pass)