Redmine: Как переместить вики-страницы в вики другого проекта?

У меня есть несколько вики-страниц в подпроекте B моего родительского проекта A. Теперь я хочу переместить их из вики B в вики A. Как я могу сделать это без копирования и вставки всех страниц?

Ребята с форума Redmine предлагают напрямую редактировать базу данных SQL; есть также открытый вопрос от других людей с той же проблемой. Я посмотрел свой дамп mysql, но не нашел точного места, где можно изменить соответствующие идентификаторы. Это правильное место в таблице «wiki_contents», «wiki_content_versions» или где-то еще?

(Используется Redmine 1.2.0)


person André    schedule 28.06.2011    source источник


Ответы (1)


Вот как вы можете перемещать страницы - я рекомендую сделать резервную копию, прежде чем напрямую манипулировать базой данных.

  1. В таблице projects найдите идентификаторы проектов A и B.
  2. В таблице wikis найдите идентификаторы вики, соответствующие проектам A и B.
  3. В таблице wiki_pages найдите страницы, которые вы хотите переместить, и просто измените wiki_id

Берегись:

  • Иерархия страниц (parent_id): не знаю, что произойдет, если вы переместите страницу, но не переместите ее родительскую страницу. Чтобы быть уверенным, вы можете установить значение parent_id равным нулю и воссоздать иерархию после перемещения страницы.
  • Уведомления пользователей: я не знаю, что произойдет, если пользователь просматривает страницу, перемещенную в проект, к которому у пользователя больше нет доступа. Чтобы быть уверенным, вы можете удалить некоторые записи в таблице watchers.
  • Вики-перенаправления: когда вы переименовываете страницу, есть возможность перенаправить старый URL-адрес на новый. Эти перенаправления хранятся в wiki_redirects, и, возможно, их также нужно будет перенести в новую вики.
  • Вики-ссылки в содержании больше не будут работать, если страница, на которую ссылаются, также не была перемещена.
person marapet    schedule 29.06.2011
comment
Наблюдатели, которые не видят новую страницу, должны быть исключены из уведомлений. Удаление записей наблюдателя также сработает. - person Eric Davis; 30.06.2011