Переезд сайта на Drupal и правка линков в БД, нужна помощь с mySQL запросом REPLACE

Прислано: MAMONT

пн, 16/07/2007 - 08:21

Другие статьи по теме:

Мне нужно сделать релокейшин сайта и соответственно подправить адреса в ЮРЛ, которые встречаются.

Я сначала попытался сделать при помощи следующей строки, но этого результата мне мало.

UPDATE node_revisions SET body = REPLACE (body, "forum.mysite.com", "xx.mysite.com/forum")

Дело в том, что я хочу сам URL поменять на новый, а текст ссылки (который был сделан посредством Copy – Paste из адресной строки браузера заменить на относительный путь.

А в регулярных выражениях mySQL я не разбираюсь.

То есть:

Ссылку типа 
SeeMe
заменить на
SeeMe

Ссылку типа 
http://forum.mysite.com/node/100
заменить на
node/100


Кто то может помочь с таким запросом?

Не обязательно использовать REGEXP если в нем нет особой нужды, приму и другие Варианты.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано MAMONT в вт, 17/07/2007 - 10:50.

никто не знает? грустно :(


Опубликовано misfit в вт, 17/07/2007 - 18:21.

сохрани дамп базы в тектовый файл, замени обычным текстовым редактором и заимпорть обратно :)


Опубликовано MAMONT в ср, 18/07/2007 - 11:40.

К сожалению нет доступа к рабочей БД, владелец предоставил только тестовую базу. Я написал скрипт миграции в который осталось вложить только mySQL запросс.


Опубликовано MAMONT в ср, 18/07/2007 - 12:28.

Уже есть некоторые идеи.
Но плохие.

А как в таблице одним запросом пройтись по тексту типа http://forum.mysite.com/node/balabalabala и заменить на следующее
http://forum.mysite.com/node/balabalabala,
где node/balabalabala может быть что угодно.
Не разбираюсь я в регулярных выражениях вообще :(


Требуется написать пример mySQL запроса, который одним заходом меняет в таблице в определенном поле:

Это
https://community.mysite.com
на это
http://mysite.com/mysite

Это
https://community.mysite.com/node/100/
на это
http://mysite.com/community/node/100/

Это
https://community.mysite.com/XXX/
на это
http://mysite.com/community/XXX/

Это
https://community.mysite.com
на это
http://mysite.com/community

Это
https://community.mysite.com/node/100/
на это
http://mysite.com/community/node/100/

Это
https://community.mysite.com/node/100/
на это
http://mysite.com/community/node/100/


Банальный запрос:
UPDATE node_revisions SET body = REPLACE (body, "href=\"https://community.mysite.com/", "href=\"internal:");
Не подходит.

Нужно применить регулярное выражение.


Ссылки партнёров