Поддержка Проблемы и решения Как правильно изменять связанные поля в таблицах wp_posts и wp_postmeta?

  • Задача: изменять значения поля ID у части строк таблицы wp_posts для того, чтобы при экспорте этих строк и импорте их на другой сайт не возникало конфликта данных ключевого поля таблиц. Делаю это с помощью запроса
    UPDATE wp_posts ID=ID+n WHERE ID>m,
    где n — число, на которое надо сдвинуть значения поля ID,
    m — строка, после которой идут строки с изменяемыми значениями.
    Как я понимаю, при этом нарушается связь между таблицами wp_posts и wp_postmeta, а также wp_term_relationships? Как составить запрос, чтобы одновременно менялись значения связанных полей в этих таблицах?
    Поясню общую задачу: есть дубликат сайта, на котором происходят некоторые отладочные действия, затрагивающие БД. При этом основной сайт продолжает наполняться. Время от времени надо синхронизировать сайты на уровне записей, добавляя на дубликат строки из базы основного. Быть может, есть другие решения?

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Время от времени надо синхронизировать сайты на уровне записей, добавляя на дубликат строки из базы основного.

    Если «на уровне записей», то забудьте про базу. И вообще забудьте про «лазить в базу» если нет стойкого желания поломать сайт.

    Быть может, есть другие решения?

    * «Синхронизировать» записи можно через импорт-экспорт (лучше плагинами через csv/xml/json, но внимательнее с доменами и путями)
    * поискать подходящий плагин https://wordpress.org/plugins/search/synchronize/
    * Использовать REST-API
    * Делать полную миграцию сайтов с пом https://wordpress.org/plugins/duplicator/ или др плагинов для миграции.

    Спасибо, понял. А какой плагин экспорта-импорта на уровне записей вы посоветуете? Чтобы сразу перетаскивал медиафайлы, данные из пользовательских полей и таксономий? Я пробовал некоторые, но всё равно приходилось вручную что-то править и догружать.

    А какой плагин экспорта-импорта на уровне записей вы посоветуете? Чтобы сразу перетаскивал медиафайлы, данные из пользовательских полей и таксономий?

    Ничего не посоветую. Всё зависит от «местных условий». Возможно даже не обойтись без промежуточной правки файла экспорта. Но многое можно автоматизировать.

    Остановился на плагине Single Post Export. Вроде пока полёт нормальный.

    Остановился на плагине Single Post Export

    Может Single Post Exporter?

    Хм.. по-одному? Какой в этом смысл я напр не понимаю — «по одному» проще ж скопиапстить.
    Но дело хозяйское.

    А, достмотрелся — можно и несколько и произвольно. Да, это хорошо.

    И ещё обращаю внимание: поскольку он «Tested up to: 4.9.9», то неизветсно как он будет работать с 5+ версией ВП с новым редактором.

    • Ответ изменён 5 лет, 2 месяца назад пользователем SeVlad. Причина: досмотрелся

    Я на 5-й версии юзаю старый редактор, в прелести нового что-то не въехал.
    А в Single Post Exporter единственное, что напрягает, — не могу отключить экспорт авторов, и они вываливаются все (больше сотни) вместе с несколькими записями. Правда, при импорте база их отбивает, но всё равно неприятно. Или вручную удалять из xml-файла?

    Или вручную удалять из xml-файла?

    Подобное тоже входит о чем я говорил выше:

    Возможно даже не обойтись без промежуточной правки файла экспорта.

    Но в данном случае это может и не критично, а вот если в контенте напр будут урлы или ещё хуже — ID (часть «местных условий»), тогда может быть всё сложнее.

    Буду сообщать, если возникнут проблемы. Спасибо за поддержку!

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Как правильно изменять связанные поля в таблицах wp_posts и wp_postmeta?» закрыта для новых ответов.