我首先在本地开发了一个带有Node.Js、Express、Prisma和Mysql的API。在它工作之后,我在Heroku上部署了我的API,并且我在Heroku上使用了ClearDB插件来拥有Mysql数据库。
因此,当我在我的根URI上进行部署时,我得到了 “Cannot GET /" 消息,当我尝试使用MysqlWorkbench连接到我的ClearDB时,我得到了我的表、列等......主要问题来自Prisma。
当我进入我的Heroku项目的 “运行控制台” 时,命令npx prisma init
工作正常,但当我键入npx prisma migrate deploy || dev
或尝试npx prisma db push
时,出现此错误=〉
错误:获取配置:架构分析-与query-engine-node-api库交互时出错错误代码:P1012错误:找不到环境变量:数据库_URL。--〉模式。棱镜:10|九个|提供者=“mysql”10| URL = env(“数据库URL”)|
我所有的代码都在GitHub repo中,我已经配置了我的.env
(在我服务器的根文件夹中),如下所示:
DATABASE_URL="mysql://<username>:<my-password>@eu-cdbr-west-30.cleardb.net/heroku_36d295ebb6686a2"
NODE_ENV="development"
APP_SECRET="jwtsecret12"
NODE_PATH="./src"
ACCESS_TOKEN_SECRET="651651651848754cdfce9fz8ef4ef54se8f4sef48s69ef84e"
我希望你有所有的信息,你需要帮助我:)
PS:我的项目在本地运行得很好
等待您的答案,非常感谢!
1条答案
按热度按时间dfty9e191#
您的
.env
文件是不相关的。它不应该在Heroku上使用(也不应该在您的仓库中被跟踪)。ClearDB提供了一个名为
CLEARDB_DATABASE_URL
的环境变量,而不是DATABASE_URL
。您可以更改代码以使用此变量而不是DATABASE_URL
,也可以将DATABASE_URL
设置为相同的值:通过发出以下命令检索数据库URL:
复制
CLEARDB_DATABASE_URL
配置变量的值。mysql2
gem,则需要将CLEARDB_DATABASE_URL
中的mysql://
方案更改为mysql2://
*Heroku Postgres的连接信息可以随时更改,但是由于ClearDB文档提供了前面的指导,我希望它不要这样做。