Ecto为什么要选择maintenance_database选项?

问题描述 投票:1回答:1

我最近正在浏览Ecto Postgres Adapter的文档,发现它有maintenance_database的选项。它说这是删除或创建数据库时使用的数据库。但是为什么需要它,因为在删除或创建数据库时,您大部分时间都在使用混合任务,并且在那时候它将是控制器,因此不会使用持久连接来连接到反正数据库?

我只是对此选项感到困惑,因为它似乎很奇怪,我想知道是否有人可以阐明如何以实际方式使用它,以及为什么它会存在。

如果这是询问此类讨论问题的错误媒体,请告诉我,我将其移至其他位置。

elixir ecto
1个回答
0
投票

mix首先不包含在发行版中。想象一下您维护的关键任务软件无法关闭纳秒的情况。现在,出于性能原因,需要清理数据库。

最简单(也是最快)的方法是删除并创建数据库。因此,您指示监督树通过GenServer.code_change/3回调部署执行操作的代码来理解此选项。

[另外,我怀疑我遵循您在问题中提到的controllerGenServer.code_change/3应用程序完全不需要即可运行。

© www.soinside.com 2019 - 2024. All rights reserved.