首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Ecto有一个maintenance_database选项?

为什么Ecto有一个maintenance_database选项?
EN

Stack Overflow用户
提问于 2020-02-17 19:07:44
回答 1查看 99关注 0票数 1

最近,我查看了Ecto Postgres适配器的文档,发现它可以选择maintenance_database。它说它是删除或创建数据库时使用的数据库。但是,为什么需要这样做呢?因为在删除或创建数据库时,您大部分时间都要使用混合任务,而且此时它将是一个控制器,因此它不会是使用持久连接到数据库的连接。

我只是对这个选项感到困惑,因为它看起来很奇怪,我想知道是否有人能阐明如何以实际的方式使用它,以及它为什么会存在。

如果这是问这些讨论问题的错误媒介,那就让我知道,我会把它移到另一个地方。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-19 06:27:22

首先,mix不包括在发行版中。想象一下,当您维护任务关键软件时,它不能在纳秒内关闭。现在有必要清理数据库,比如说,出于性能原因。

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

此外,我怀疑您在问题中提到的是哪个控制器,埃多应用程序根本不需要运行菲尼克斯-框架

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60268956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档