首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker Wikibase导入问题

Docker Wikibase导入问题
EN

Stack Overflow用户
提问于 2021-03-11 06:30:14
回答 1查看 39关注 0票数 1

所以我安装了一个Docker Wikibase实例,并从一个WAMP64 Wikibase实例导入了一个转储。它正确地导入了,一切似乎都正常,除了我不能再创建新的项目或属性,我总是得到一个“无法创建新页面。它已经存在”。错误。

有关于如何诊断或修复的想法吗?我在想,它可能正在尝试创建一个已经存在"Q1“的项目"Q1”?任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2021-03-11 12:37:20

我想通了!

感谢这里的第4步(https://wikibase.consulting/transferring-wikibase-data-between-wikis/),我发现我是对的,维基正在尝试创建一个已经存在Q1的Q1。因此,我只需要将计数器移动到适当的数字。

幸运的是,上面的链接可以访问一个脚本,该脚本可以快速轻松地完成此操作。您可以使用以下命令将链接下载到Wikibase实例的根目录中:

代码语言:javascript
复制
curl https://gist.githubusercontent.com/JeroenDeDauw/c86a5ab7e2771301eb506b246f1af7a6/raw/rebuildWikibaseIdCounters.sql -o rebuildWikibaseIdCounters.sql

并使用以下命令执行它:

代码语言:javascript
复制
php maintenance/sql.php rebuildWikibaseIdCounters.sql

超级快速和无痛!

(如果由于某种原因curl不是一个选项,也可以在这里找到原始脚本:https://gist.githubusercontent.com/JeroenDeDauw/c86a5ab7e2771301eb506b246f1af7a6/raw/88cdccb1adcdf420d17a3a21296a99f153b95a21/rebuildWikibaseIdCounters.sql)

下面是该脚本的完整外观:

代码语言:javascript
复制
-- By Jeroen De Dauw / https://Professional.Wiki
-- License: GPL-2.0-or-later

SELECT * FROM /*_*/wb_id_counters;

REPLACE INTO /*_*/wb_id_counters VALUE((SELECT COALESCE(MAX(CAST(SUBSTRING(`page_title`, 2) AS UNSIGNED)), 0) FROM `page` WHERE `page_namespace` = 120), 'wikibase-item');

REPLACE INTO /*_*/wb_id_counters VALUE((SELECT COALESCE(MAX(CAST(SUBSTRING(`page_title`, 2) AS UNSIGNED)), 0) FROM `page` WHERE `page_namespace` = 122), 'wikibase-property');

SELECT * FROM /*_*/wb_id_counters;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66573842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档