heroku 找不到环境变量:数据库_URL. Prisma和mysql

bz4sfanl  于 2022-11-13  发布在  Mysql
关注(0)|答案(1)|浏览(135)

我首先在本地开发了一个带有Node.Js、Express、PrismaMysql的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:我的项目在本地运行得很好

等待您的答案,非常感谢!

dfty9e19

dfty9e191#

您的.env文件是不相关的。它不应该在Heroku上使用(也不应该在您的仓库中被跟踪)。
ClearDB提供了一个名为CLEARDB_DATABASE_URL的环境变量,而不是DATABASE_URL。您可以更改代码以使用此变量而不是DATABASE_URL,也可以将DATABASE_URL设置为相同的值:
通过发出以下命令检索数据库URL:

heroku config | grep CLEARDB_DATABASE_URL
CLEARDB_DATABASE_URL => mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true

复制CLEARDB_DATABASE_URL配置变量的值。

  • 如果使用Ruby on Rails和mysql2 gem,则需要将CLEARDB_DATABASE_URL中的mysql://方案更改为mysql2://*
heroku config:set DATABASE_URL='mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true'
Adding config vars:
DATABASE_URL => mysql2://adffd...b?reconnect=true
Restarting app... done, v61.

Heroku Postgres的连接信息可以随时更改,但是由于ClearDB文档提供了前面的指导,我希望它不要这样做。

相关问题