如果自定义插件的数据库迁移尚未运行,是否有自动运行它的方法?而不是在新的 Discourse 安装中手动运行数据库迁移?
您如何运行 Discourse?
如果您使用的是我们的 Docker 安装程序,应该可以解决此问题。
运行 Discourse 开发环境
您不能在插件内运行迁移。
在开发环境中,您需要从控制台执行它们。
为什么?因为当您部署插件时,迁移将由宿主应用程序负责处理。
这超出了插件应承担的范围。
(供您参考,这并不是说您不应在插件中包含迁移(例如,当您修改数据库时),但插件本身不会执行迁移。)
是的,我正在使用控制台在开发环境中运行迁移。我的问题是,这是前进的方向吗?我是否也必须在生产 Docker 环境中手动运行这些迁移?
That would be done automatically as part of a (re)build.
3 个赞