我已经恢复了 Gitea 备份。一切似乎都很好,只是在 WebUI 中单击 URL 会打开一个仅包含主机名或错误 URL 的 URL(它缺少 URL 的存储库部分)。
如果我创建一个新的存储库,我可以在单击 URL 时照常访问它。如果我手动输入存储库的 URL(例如 gitea.my-domain.de/username/reponame.git),我可以访问它。
我的第一次尝试是在 app.ini 中设置 ROOT_URL,但这不起作用。有任何想法吗?
我已经恢复了 Gitea 备份。一切似乎都很好,只是在 WebUI 中单击 URL 会打开一个仅包含主机名或错误 URL 的 URL(它缺少 URL 的存储库部分)。
如果我创建一个新的存储库,我可以在单击 URL 时照常访问它。如果我手动输入存储库的 URL(例如 gitea.my-domain.de/username/reponame.git),我可以访问它。
我的第一次尝试是在 app.ini 中设置 ROOT_URL,但这不起作用。有任何想法吗?
这只是发生在我身上,看起来是因为在gitea
数据库中,表中的owner_name
列repository
被转储为NULL
. 有趣的是,该owner_id
列保持正确的值。
我正在使用 mysql(mariadb) 并执行了以下操作:
USE gitea;
SELECT id, name, owner_id, owner_name FROM repository;
检查这个输出只是为了确保它看起来很正常。
UPDATE repository INNER JOIN `user` ON `user`.id = repository.owner_id SET owner_name = `user`.name;
这将根据用户表中的 user_id 查找和替换 user_name。
SELECT id, name, owner_id, owner_name FROM repository;
只是为了确保它有效。将第一个输出与第二个输出进行比较。
我在 github 的 gitea repo 上检查了问题,没有看到任何与这些症状相匹配的问题。我稍后会在那里打开一个问题并链接这篇文章。
我遇到了类似的问题,并在a7hybnj2的先前答案的帮助下设法解决了它。
我的实例使用 SQLite 数据库运行,更新命令需要如下所示:
UPDATE repository
SET owner_name = (SELECT name
FROM `user`
WHERE (repository.owner_id = `user`.id))
WHERE EXISTS (SELECT *
FROM `user`
WHERE (repository.owner_id = `user`.id));
INNER JOIN
修改是必要的,因为 SQLite 语法不支持UPDATE
.