Heroku Sequelize:命令未找到。

3

我已经使用以下命令安装了 Sequelize CLI

npm install -g sequelize-cli

在本地运行正常。

但是当我部署到Heroku并尝试运行迁移时,出现了错误。

错误信息:

sequelize: command not found
2个回答

3

就我而言,我尝试将sequelize DB迁移到heroku的postgress数据库。根据早期的文档或者你尝试过的方法,运行以下命令heroku run sequelize db:migrate

然而现在有效的方法是运行以下命令heroku run npx sequelize-cli db:migrate


或者你可以在 Procfile 文件中定义:release: npx sequelize-cli db:migrate,以便在每次部署时运行此命令。 - testing_22

2
  • 全局安装了sequelize-cli包,因此它可以在您的系统上正常工作,没有任何问题。
  • 您无法在Heroku上运行已安装在您的系统上的script
  • 由于Heroku CLI仅用于执行与Heroku dynos相关的操作,即您只能运行在Heroku CLI中预定义的命令。
  • 要在Heroku上运行脚本,您必须在package中定义它,当Heroku部署您的应用程序时,它将自动运行该脚本。

例如:

如果您想使用sequelize-cli运行db:migrate,请执行以下步骤:

  • 在您的package.json中将sequelize-cli添加为dependency
  • 在脚本中添加migrate: "sequelize db:migrate"

我不确定您想运行此命令的目的。但是,要在Heroku上运行脚本,您必须在package中定义它,Heroku会完成其余工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接