正在尝试从
恢复数据库到当前版本。我复制了相同的 app.yml 并正在恢复(新的虚拟机,并试图绕过 pg 升级,尽管也许我应该尝试那个而不是恢复)
我遇到了这个错误:
PG::DuplicateTable: ERROR: relation "discourse_automation_automations" already exists
看起来像是另一个迁移被重新签入,并且该站点是在这几次提交期间构建的。
但我不知道该怎么办。也许我应该删除尝试创建此表的迁移?
正在尝试从
恢复数据库到当前版本。我复制了相同的 app.yml 并正在恢复(新的虚拟机,并试图绕过 pg 升级,尽管也许我应该尝试那个而不是恢复)
我遇到了这个错误:
PG::DuplicateTable: ERROR: relation "discourse_automation_automations" already exists
看起来像是另一个迁移被重新签入,并且该站点是在这几次提交期间构建的。
但我不知道该怎么办。也许我应该删除尝试创建此表的迁移?
我认为 3.3beta1 是在插件于四月被包含在核心代码之前发布的。这是否会导致任何问题——例如,由于插件现在已包含在核心代码中,但仍通过 app.yml 单独安装?
这是个好主意,但不是那个。我不再包含它了。我想我是否应该尝试添加它(但快速查看时没看到)。我现在的想法是删除旧网站上的所有自动化表(它们是空的),做一个新的备份并尝试恢复它。
嗯,然后它失败了,因为缺少 discourse_automations_automations。 ![]()
所以我删除了这些:
20210108134117_add_pending_pms_table.rb
20210512090204_add_timestamps_to_automations.rb
20210530122323_move_triggers_to_fields.rb
20211119103353_adds_discourse_automation_user_global_notice.rb
20230412120414_add_prefers_encrypt_field_to_pending_pms.rb
并且可能应该删除 20190601000001_create_automations_table.rb,但相反,我添加了 unless table exists 代码(我认为当我删除它时遇到了另一个问题?)。
最后我终于恢复了它。
我们可以关闭这个话题吗?或者,如果您想保持开放式,可以将其移至 Dev 或 Installation > Hosting?
可以。您可以关闭它。我不确定这是否会发生在其他人身上,所以这可能有用,也可能没用。