插件数据库迁移

如果自定义插件的数据库迁移尚未运行,是否有自动运行它的方法?而不是在新的 Discourse 安装中手动运行数据库迁移?

您如何运行 Discourse?

如果您使用的是我们的 Docker 安装程序,应该可以解决此问题。

运行 Discourse 开发环境

您不能在插件内运行迁移。

在开发环境中,您需要从控制台执行它们。

为什么?因为当您部署插件时,迁移将由宿主应用程序负责处理。

这超出了插件应承担的范围。

(供您参考,这并不是说您不应在插件中包含迁移(例如,当您修改数据库时),但插件本身不会执行迁移。)

是的,我正在使用控制台在开发环境中运行迁移。我的问题是,这是前进的方向吗?我是否也必须在生产 Docker 环境中手动运行这些迁移?

That would be done automatically as part of a (re)build.

3 个赞