Node.js knex – 确保用于login到数据库的密码

我在一个名为knexfile.js的文件中有下面的代码

module.exports = { development: { client: 'mysql', connection: { database: 'myDatabase', timezone: 'Z', user: 'root', password: 'myPassword', host: '127.0.0.1' }, pool: { min: 2, max: 10 }, migrations: { tableName: 'myMigrationTable' } } }; 

上面的代码myPassword是纯文本的。 在我的生产服务器上,我绝对不希望我的密码在我的应用程序用来validation我的数据库的代码中。 我也不希望它在我的服务器上以明文forms存放在文件中。

在knex或node中有没有方法可以轻松地安全地login到我的数据库? 我应该只是简单地encryption我的密码,将其保留在我的服务器上的文件,并使用我的webapplogin时解密它?

最佳做法是使用环境variables。

 knex = require('knex')({ client: 'mysql', connection: process.env.DATABASE_URL })