node.js - 如何运行sequelize db :migrate on Elastic Beanstalk EB with env vars? 如何访问容器命令中的.env vars?

标签 node.js amazon-web-services amazon-elastic-beanstalk sequelize.js

如何使用环境变量在 ElasticBeanstalk 上运行sequelize db:migrate?

运行sequelize migrate 失败,因为找不到.env 文件。

{ Error: ENOENT: no such file or directory, open '.env'

我的 master.config 看起来像:

container_commands:
  00_node_binary:
    command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node"
  00_npm_binary:
      command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm"
  01_migrations:
    command: npm run migrate
    leader_only: true

我的 package.json 包含

"migrate": "node_modules/sequelize-cli/bin/sequelize db:migrate"

最佳答案

编辑:

我刚刚发现环境变量发生了什么事。尝试在不使用 npm 的情况下运行迁移脚本。它会是这样的:

./node_modules/.bin/sequelize db:migrate

这样,您将获得您期望的所有环境变量。

旧答案:

您确定您的 .env 文件已提交到您的 git 存储库吗?一般来说,将 .env 提交到 git 并在生产中使用它并不是一个好主意。您应该在 Elastic Beanstalk 仪表板的软件配置下设置环境变量。

您还可以使用 eb 命令行实用程序 documented here .

关于node.js - 如何运行sequelize db :migrate on Elastic Beanstalk EB with env vars? 如何访问容器命令中的.env vars?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41928297/

相关文章:

django - Elastic Beanstalk 上的 Docker + Django

javascript - 如何为浏览器将 ES6 代码编译为 ES5?

amazon-web-services - 如何防止使用签名网址从亚马逊云端下载视频

amazon-web-services - 将文件复制到 S3 中的文件夹中,最终位于父文件夹中

java - 如何将Spring Boot应用程序部署到AWS Elastic Beanstalk?

amazon-web-services - 没有负载均衡器的 Elastic Beanstalk 上的 HTTPS

javascript - 在 Electron/NodeJS 应用程序中捕获命令行响应

node.js - ReactJS中URL不匹配时如何返回404状态代码

node.js - Nest 服务器未连接到 MongoDB 云 UnhandledPromiseRejectionWarning : MongoParseError: URI malformed

amazon-web-services - 创建AMI镜像,通过boto公开