在运行Express应用之前初始化InfluxDB-正确的方法吗?

时间:2019-09-07 15:27:26

标签: javascript node.js docker express influxdb

我正在使用Docker运行一堆Node / Express和InfluxDB。 InfluxDB Node.js客户端运行正常,但是有一件事困扰着我。现在,我必须将整个应用程序包装到一个回调中,因为Influx需要检查数据库是否存在并且是异步的。看起来像这样:

const app = express()

initDb().then(() => {
  // ... some other code
  app.listen(3000);
})

由于回调中的部分比示例中的要大得多,所以回调使所有内容看起来都很混乱,因为根本没有根目录。 initDB函数本质上是包装the tutorial on the Influx client website中的init函数。

由于我使用的是Docker,因此未使用数据库初始化我的容器。尽管InfluxDB容器确实支持使用数据库进行初始化,但不建议将其用于生产。

  

InfluxDB映像包含一些用于初始化数据库的额外功能。不建议将这些选项用于生产环境,但在运行独立实例进行测试时非常有用。

因此,从技术上讲,我可以使用所需的数据库初始化本地Influx容器,但是该选项已投入生产。在运行时创建数据库是最好的选择吗?处理此问题的方式有什么选择?

0 个答案:

没有答案