gpt4 book ai didi

javascript - knexfile.js 不读取 Dotenv 变量

转载 作者:行者123 更新时间:2023-11-30 20:29:42 24 4
gpt4 key购买 nike

所以我正在试用 knexjs,第一个设置非常有效。我已经建立了我的连接,创建了一个数据结构,并在我的终端中运行了 $ knex migrate:latest.一切正常...迁移后的表出现在我的数据库中再次运行迁移并获得已经是最新的

现在我遇到了一个问题:使用 Dotenv...这是我的代码:

require('dotenv').config();

module.exports = {

development: {

client: process.env.DB_CLIENT,
connection: {

host: process.env.DB_HOST,

user: process.env.DB_ROOT,
password: process.env.DB_PASS,

database: process.env.DB_NAME,
charset: process.env.DB_CHARSET

}
}
};

据我所知,它没有任何问题,当我通过 Node 运行脚本时,没有出现任何错误。然后我想检查我是否仍然可以进行迁移,但我收到以下错误:

Error: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'[MY IP]' (using password: YES)

这次我只使用来 self 的 .env 文件的相同变量。但是当我查看错误时,没有从中加载任何内容,是的,knexfile.js.env 都在我的项目的根目录中 :) 其中我已尝试在 require('dotenv').config(); 中以不同方式设置路径,但随后它会从 dotenv 中抛出错误,这意味着文件已正确加载。

谁能帮我解决这个问题?

最佳答案

经过反复试验,我终于弄清楚出了什么问题。我不知道是什么原因造成的,但不知何故 Knex 的安装没有正确完成......

我卸载并重新安装了 Knex(本地和全局)。然后首先我将它安装在全局级别而不是作为依赖项。之后,我再次初始化了 Knex ($ knex init) 并从头开始。

我想,但我仍然不确定为什么,因为我找不到任何关于它的信息,安装 Knex 的顺序很重要(或者对我来说很重要,我什至不确定我第一次做错了什么)。

在旁边

如果您是 Knex 的新手并且只是盲目地遵循随机教程/文章并为 Knex 创建一个新文件(即 knexfile.js),Knex 仍然可以工作,但其他包可能无法正常执行。这是我在发现的大多数文章中看不到的内容,请阅读有关如何生成所需文件(迁移和种子)的文档。大多数文章没有正确涵盖这些步骤。

希望这是值得的

关于javascript - knexfile.js 不读取 Dotenv 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50488910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com