Замена в БД с изменением параметра длины строки

L0
На сайте с 15.04.2015
Offline
76
1959

Пошарился в нете не смог найти ответ.

Есть БД от вордпресс сайта. Нужно заменить в ней один домен на другой, например

site1.ru на site111.ru

домен меняется не самого сайта. Домен входит в состав урлов (ссылок) присутствующих в таблице post_meta

простая замена через текстовые редакторы и через sql запрос приводит к нерабочему состоянию БД из за наличия параметра s: (который указывает количество символов в данном поле, назовем это так). количество символов в имени доменов различное, из-за этого количество символов указанное в БД изначально не соответствует тому, что стало после смены имени домена.

Нужно как то актуализировать значения длины символов для строк с данными где меняется имя домена в ссылке или делать это совместно с заменой.

Подскажите люди добрые, как решить эту проблему. Может софт есть для подобного.

Да, я опасен! Я говорю вам - правду
danforth
На сайте с 18.12.2015
Offline
153
#1

Сейчас SeVlad придет, и расскажет вам про сериальные данные))

https://srd.wordpress.org/plugins/wp-migrate-db/ попробуйте это

Junior Web Developer
B
На сайте с 23.05.2001
Offline
195
#2

В принципе, если делать средствами SQL, можно обновить не одним общим апдейтом, а в цикле, при смене домена исправляя заодно значение в поле "количество".

---------- Добавлено 18.05.2017 в 18:21 ----------

Хотя можно и одним апдейтом обойтись, если не лень из спортивного интереса повозиться :)

Ragnarok
На сайте с 25.06.2010
Offline
226
#3

Leks007, плагин умеет работать и с сериализованными

//TODO: перестать откладывать на потом
L0
На сайте с 15.04.2015
Offline
76
#4

Спасибо за помощь! Даже целых два решения.

Это как раз то, что мне нужно

SeVlad
На сайте с 03.11.2008
Offline
1609
#5
danforth:
Сейчас SeVlad придет, и расскажет вам про сериальные данные))

Главное, чтобы ты больше не рассказывал ни про минимальный профит в сео как таковой и в частности от применения именно letsencrypt ни как делать темы для ВП и искать при этому топ плагинов :). А уж как правильно говорить на IT-форуме «сериальные» или «сериализованные» - эти свои фантазии необразованных недопереводчиков можешь и дальше смаковать, раз не ни гуглить ни понимать что уже показывал не состоянии.

Но ведь мои старания не прошли даром и теперь даже ты понял, что нельзя лазить базе, а нужно использовать правильные скрипты.

Ида. еще чуток открою секрет — давать сардинские локали для русскоязычных пользователей тоже попахивает не профессионализмом. А филологам вообще должно быть стыдно. Даже если они в IT случайно недавно. :)

Я честно, давно хотел это всё забыть, но у тебя почему-то распирает и никак не попускает.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
danforth
На сайте с 18.12.2015
Offline
153
#6

SeVlad,

Существует три вида сертификата (на два меньше, чем томов у Кнута), самый простой - с проверкой домена (DV). Потом идет сертификат с проверкой организации (OV), и затем расширенная проверка с подтверждением юридического статуса компании (EV). Все эти сертификаты влияют на доверие ПС к сайту именно в том порядке, в котором я перечислил. Если первый практически не влияет (да, слово минимальный это и означает), то второй и третий является сигналом о серьезности бизнеса. Где ты купишь ноутбук, в каком-то магазине при сервисном центре, или в магазине со статусом официального партнера?

По поводу тем, да, я сторонник чистого html/css/ecma без использования кучи говняных библиотек вроде jQuery и прочего, особенно учитывая тот факт, что с недавних пор селекторы есть в ECMA, и их более чем достаточно.

SeVlad:
Но ведь мои старания не прошли даром и теперь даже ты понял, что нельзя лазить базе, а нужно использовать правильные скрипты.

Твои старания тут не причем, увы. То, что лазить в базе напрямую нельзя я и так знал. Единственное чего я мог не знать, так это то, что в Wordpress в базе в сериализованном виде хранятся строки с доменом (идиотизм чистой воды, кстати, не подскажешь, зачем это сделано?).

SeVlad:
еще чуток открою секрет — давать сардинские локали для русскоязычных пользователей тоже попахивает не профессионализмом.

Да, колоссальный непрофессионализм, учитывая что сайт все равно открывается с английской локалью, по крайней мере у меня. Но раз английский для кого-то проблема, то пусть попросят меня, я любезно переведу.

SeVlad:

Я честно, давно хотел это всё забыть, но у тебя почему-то распирает и никак не попускает.

Я же тебе предлагал перемирие, но ты отказался. Г - гордость?

SeVlad
На сайте с 03.11.2008
Offline
1609
#7
danforth:
Все эти сертификаты влияют на доверие ПС к сайту

падсталом.. Ты эти свои фантазии оставь для сеошных разделов. Это там контингент выдачу ПС анализировать не умеет.

danforth:
По поводу тем, да, я сторонник чистого html/css/ecma без использования

..не то, что без стандартов создания тем/документации ВП, но даже без пхп 🤪

danforth:
То, что лазить в базе напрямую нельзя я и так знал.

Ой ли.. :) ломает искать, то ты не только давал советы с SQL-запросами, но и доказывал в стиле «сколько раз делал — ничего не ломается».

danforth:
Единственное чего я мог не знать, так это то, что в Wordpress в базе в сериализованном виде хранятся строки с доменом

Выходит, что про пути (что даже важнее домена) до сих пор не знаешь? ;)

danforth:
идиотизм чистой воды, кстати, не подскажешь, зачем это сделано?

Тут я с тобой где-то согласен и тоже не понимаю зачем такие привязки нужно было делать. Однако дело не только в самом ВП, но и в плагах/темах. Не только контент, но и в многие другие места, разным способами могут вставлять ссылки. Т.е. их всё равно менять при смене домена. Так что может это и не идиотизм, а защита от дурака.

В ВП хватает других, куда более важных недостатков. Но когда есть инструменты/методы/способы их решения они уже не такие критичные, просто это требует определённого погружения в тему.

danforth:
Да, колоссальный непрофессионализм, учитывая что сайт все равно открывается с английской локалью,

О, а таки много хуже, чем я думал. Оказывается, даже не понмиаешь, что если СЕГОДНЯ у какого-то плага нет перевода этой локали, то показываются дефолтные буквы :)

danforth:
Я же тебе предлагал перемирие, но ты отказался. Г - гордость?

Так это я тебя тронул? 😮 я даже полгода не отвечал там, где ты ересь нес. Д — думал?

Так что давай закончим на этом.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий