我将密码保存在文件中感到很不舒服:
require 'pg'
conn = PG::Connection.open(host: 'server.example.com', password: 'hello_everyone')
另外,有没有办法确定或确保传输是加密的?我只是担心在本地运行我的应用程序时,它必须连接到远程数据库(我担心所有数据,包括身份验证凭据,以明确方式发送)的影响。
答案 0 :(得分:1)
关于密码:
我建议在ENV变量中设置它。看看dotenv gem。基本上,您将能够执行以下操作:
require 'pg'
conn = PG::Connection.open(host: ENV['database_host'], password: ENV['database_password'])
加载到ENV中的值将存储在不提交的文件(.env
)中。
关于数据加密
您应该查看SSH tunneling以连接到远程数据库。