最近,我查看了Ecto Postgres适配器的文档,发现它可以选择maintenance_database。它说它是删除或创建数据库时使用的数据库。但是,为什么需要这样做呢?因为在删除或创建数据库时,您大部分时间都要使用混合任务,而且此时它将是一个控制器,因此它不会是使用持久连接到数据库的连接。
我只是对这个选项感到困惑,因为它看起来很奇怪,我想知道是否有人能阐明如何以实际的方式使用它,以及它为什么会存在。
如果这是问这些讨论问题的错误媒介,那就让我知道,我会把它移到另一个地方。
发布于 2020-02-19 06:27:22
首先,mix不包括在发行版中。想象一下,当您维护任务关键软件时,它不能在纳秒内关闭。现在有必要清理数据库,比如说,出于性能原因。
最简单(也是最快)的方法是删除并创建DB。因此,您指示您的监督树通过GenServer.code_change/3回调了解此选项,并部署执行操作的代码。
此外,我怀疑您在问题中提到的是哪个控制器,埃多应用程序根本不需要运行菲尼克斯-框架。
https://stackoverflow.com/questions/60268956
复制相似问题