【问题标题】:Splitting production/development databases拆分生产/开发数据库
【发布时间】:2015-11-18 19:42:23
【问题描述】:

我正在开发一个支持 mongoDB 的 expressjs 应用程序。我已经使用 express 生成器来创建它。

我真的很想通过 MongoLab 开发数据库,​​然后部署到 Heroku(这也将由 MongoLab 数据库支持)。

将这两者分开的最佳实践是什么,所以当我在开发模式下启动应用程序时,它使用开发 mongo 实例,而当我在生产模式下部署到 heroku 时,它将使用生产数据库?

谢谢!

【问题讨论】:

    标签: node.js mongodb heroku express mongoose


    【解决方案1】:

    Heroku 的 12Factor 架构文档很好地解释了配置管理的最佳实践及其背后的基本原理:

    tldr 是,“从环境变量中提取配置并使用显式配置而不是命名环境,如‘开发’或‘生产’。”

    Heroku 将提供连接到 mongolab 数据库所需的所有环境变量,因此您只需在本地为您的应用程序提供这些相同的变量即可。一种常见的解决方案是.env 文件:

    这本质上是一个您不会签入的文件,它为您的本地环境变量提供了一个键值对列表。它可以通过 Heroku Local 运行,或者更一般地说,通过 node-foreman 或 docker-compose 等工具运行。

    披露:我是 Heroku 的 Node.js 平台所有者

    【讨论】:

      猜你喜欢
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      相关资源
      最近更新 更多