在管理后台中,我无法更改任何已变为橙色/黄色的字段——换句话说,我只能保存一次(那些尚未更新的内容)。有什么想法可能导致这个问题吗?
问题在安全模式下是否仍然存在?
yoursiteurl.com/safe-mode
是的,在安全模式下仍然报错
您是否使用了 Cloudflare?
是的,我们使用了 Cloudflare ![]()
是否应该以某种方式在论坛上禁用它?
Cloudflare 长期以来一直存在导致此类问题的历史记录。
尝试禁用它,然后检查问题是否消失。
如果您需要它,请在 Meta 上搜索如何禁用所有 CF“优化”。
别名已使用暗云设置,这是否仍会导致问题?

不,这意味着 CF 已禁用,这是 ![]()
所以问题不是由 CF 引起的。
顺便说一句,我尝试了 Chrome 和 Firefox,以确认这不是浏览器的问题。
在这种情况下,请以管理员身份检查 /logs 路径,查看是否存在任何错误。
你能否使用开发者工具查看实际错误是什么?
已安装了哪些插件?
已检查日志,在尝试重置设置后出现了一些错误:
Job exception: PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:11:33.973774' WHERE "site_settings"."" = 1697 7:11 pm
Job exception: PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:27:06.173173' WHERE "site_settings"."" = 1697 7:27 pm
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:39:16.098301' WHERE "site_settings"."" = 1700 7:39 pm
Failed to handle exception in exception app middleware : PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:39:16.098301' WHERE "site_settings"."" = 17
看来这个错误现在阻止了我们迁移到其他服务器。
对于如何解决这个数据库问题,有什么建议吗?
我可以确认该表确实有索引?还有其他想法吗?
如果我们在 PostgreSQL 中直接运行以下语句:
UPDATE "site_settings" SET "value" = 'Community Forum 2', "updated_at" = '2020-04-24 07:02:39.023579' WHERE "site_settings"."" = 20)
错误信息为:
**SQL 错误:**
ERROR: zero-length delimited identifier at or near """" LINE 1: ... '2020-04-24 07:02:39.023579' WHERE "site_settings"."" = 20)
问题已通过手动修改和比对表格解决。
那显然应该是 WHERE "site_settings"."id" = 20。Rails 在加载架构时可能出了点问题,或者类似的情况。
没错,site_settings 表的索引出了问题,要修复转储并恢复备份并不容易 ![]()



