目前,我在我的 rails rake 任务中使用 pg gem,这非常适合我想做的事情。我创建了一个变量 pg_conn 并将连接详细信息传递给 PGconn.connect 方法。我只是不想在每次数据库用户名/密码更改时更改此 rake 任务。如何将 yaml 文件中的登录详细信息传递给 pg_conn 命令。看看我下面的代码:
namespace :update_table do
task :import => :environment do
$pg_conn = PGconn.connect(host = "samsi-postgres-90s", port = 6433, options = '', tty ='', dbname = "installs", login = "reports_m", password = "password")
my_query = "select * from all_tables"
conn.query(my_query) do |raw_row|
puts raw_row
end
end
end
理想情况下,我想将凭据详细信息的散列传递给 pg_conn 连接变量,如下所示:
$pg_conn = PGconn.connect(yamlfile[:host], yamlfile[:port], '', '', yamlfile[:database], yamlfile[:username], yamlfile[:password])
我怎样才能做到这一点?感谢您的帮助!