问题描述
所以我安装了一个 Docker Wikibase 实例并从 wamp64 Wikibase 实例导入了一个转储。它导入正确,一切似乎都正常工作,除了我无法再创建新项目或属性,并且我总是收到“无法创建新页面。它已经存在。”错误。
关于如何诊断或修复的任何想法?我在想它正在尝试创建一个项目“Q1”,其中“Q1”可能已经存在?任何帮助将不胜感激!
解决方法
我想通了!
多亏了这里的第 4 步 (https://wikibase.consulting/transferring-wikibase-data-between-wikis/),我发现我是对的,而且 Wikibase 正在尝试创建一个已经存在 Q1 的 Q1。因此,我只需要将计数器移动到适当的数字即可。
幸运的是,上面的链接可以访问一个脚本,该脚本可以快速轻松地完成此操作。您可以使用以下命令将链接下载到 Wikibase 实例的根目录:
onevent
并执行它:
curl https://gist.githubusercontent.com/JeroenDeDauw/c86a5ab7e2771301eb506b246f1af7a6/raw/rebuildWikibaseIdCounters.sql -o rebuildWikibaseIdCounters.sql
超快速无痛!
(如果出于某种原因无法选择 curl,则原始脚本也可用:https://gist.githubusercontent.com/JeroenDeDauw/c86a5ab7e2771301eb506b246f1af7a6/raw/88cdccb1adcdf420d17a3a21296a99f153b95a21/rebuildWikibaseIdCounters.sql)
这是脚本的完整内容:
php maintenance/sql.php rebuildWikibaseIdCounters.sql