当我使用连接字符串初始化knex时,如何将连接的ssl属性设置为true?同样如何将调试设置为true?我通常会传入一个连接对象,但在这种情况下,我必须使用环境变量中的连接字符串。
var database = {
client: 'pg',
connection: connstr //normally I would pass in the object below
//connection: {
// "host": config.get('database_host'),
// "user": config.get('database_user'),
// "password": config.get('database_password'),
// "database": config.get('database_name'),
// "debug": config.get('database_debug'),
// "ssl":config.get('database_ssl')
//}
};
var knex = require('knex')(database);
knex.connection.ssl = true; // this doesn't seem to do anything
答案 0 :(得分:4)
只需将?ssl=true
添加到连接字符串的末尾(在数据库名称的末尾)。对于调试,请在设置ssl后添加?debug=true
或&debug=true
我实际上不确定对不起,所以请尝试两者。
答案 1 :(得分:0)
对于 pg >= 8.x,您将需要如下内容:
connection: {
connectionString: dbConnection,
ssl: { rejectUnauthorized: false }
}
这个答案让我来到这里:https://stackoverflow.com/a/66898176/776167
您可以阅读更多here