Skip to main content

Dotenvx的软连接特性,让命令自动感知配置

· 2 min read
Libing Chen
Java程序员,兼全栈、Rust和AI开发

在日常开发中,开发人员都会将测试用到的配置提前写好,如在.env中设置对应的数据库连接信息等, 如你使用Bun SQL特性,你已经在.env中设置好了数据库连接信息,如下:

DATABASE_URL="mysql://root:this_is_long_password@localhost:3306/test"

但是有时你需要连接其他的数据库进行测试,这个时候你需要输入mysql -u root -p123456 -h localhost -P 3306 test,然后再输入密码, 这样有时比较麻烦,尤其是密码比较复杂时,你也不能将--password=xxx直接写在命令行中,毕竟有些命令行会被记录到~/.bash_history中,会有安全隐患。

Dotenvx你既然已经管理了.env文件中的敏感信息,那么你能否帮我连接到MySQL上?

Dotenvx最新的0.4.12版本添加了dotenvx link <command>命令,你可以为任何命令创建一个软连接(sym link),当然运行软连接命令行, 就会先加载.env文件,然后再执行具体的命令行。 如上述的MySQL样例,你可以执行dotenvx link bin/mysql, 然后执行bin/mysql,就可以登录配置项指定的MySQL数据库了。

同样的方式,你可以使用dotenvx link bin/psql,然后执行./bin/psql,就可以登录PostgreSQL数据库了。

同样的方式,你也可以使用dotenvx link bin/bun,这样执行./bin/bun demo.ts,就会自动加载.env文件,然后再执行bun demo.ts

借助这种软连接方式,你不需要修改任何命令和脚本,就可以轻松地集成dotenvx的.env配置,非常方便。