Як я можу оновлювати сайт на копії розробки, але потім переміщувати оновлення назад, не змінюючи перетворюється базу даних, що розвивається?


20

Я намагався бути максимально описовим у назві, і я знаю, що це питання було задано раніше в різних формах, але я не зміг знайти відповіді на нього, і варто уявити, що ніхто не вирішив це питання.

Це просто, коли веб-сайт WP з'являється, якщо він не є статичним, то він постійно оновлює свою базу даних, додаючи нові повідомлення, додаючи нові замовлення на вуокомерцію, нові облікові записи користувачів тощо '

Якщо я хочу внести деякі основні зміни та оновлення сайту, найпростіший і найпростіший спосіб зробити це - зробити копію або в локальну установку, або в інший домен розробки, і внести всі зміни там. Після того, як всі зміни будуть виконані, я хочу скопіювати їх на активний сайт.

Якщо зміни стосуються лише файлів, таких як тема та css, це дещо просто. Однак якщо зміни стосуються змін у базі даних, як-от додавання нових плагінів та додавання вмісту, який підключається / стосується цих плагінів, я більше не можу просто скопіювати сайт назад, тому що це скасує будь-які нові зміни, що додаються в реальному часі база даних сайту. всі нові публікації, нові замовлення, нові завантаження зображень буде видалено.

Тепер я знаю, що різні сценарії випадків мають різні рішення, але чи не існує методу, який стосується всіх випадків?

Наприклад, якщо єдиними змінами, внесеними на веб-сайт в реальному часі, були нові публікації, то я можу експортувати та імпортувати публікації на сайт розробників, а потім перемістити весь сайт. Те саме з деякими іншими предметами, але не з кожним предметом. І інша проблема з цим полягає в тому, що функція експорту та імпорту в wordpress є ненормальною. Це настільки рудиментарно, і у вас дуже мало можливостей вибрати та експортувати лише певні елементи. Я, мабуть, спробував будь-який плагін "вдосконаленого імпорту / експорту", і поки що нічого не вирішено.

Так, в іншій темі хтось вказав на цей плагін, щоб в основному встановити та працювати над темою на веб-сайті, а постійні користувачі все ще бачать наявну тему, але це все ще не вирішує всі типи змін. тому що якщо ви хочете внести зміни до вмісту, скажімо, колонтитула або наві меню, це все одно відображатиметься в існуючій темі / веб-сайті, що відображається, і може виглядати нормально на новій тестовій темі, але не на живій.

Чи немає способу розробити "гілку" сайту на тому ж сайті / базі даних, а потім переключитися? чи немає можливості розвиватися на сайті розробників, а потім насправді об'єднувати бази даних неруйнівним шляхом? Якщо ви знаєте, на які компоненти та речі ви вплинули, чи не було б способу це зробити? або вам потрібно бути майстром MySQL, щоб спробувати таке.

Я не можу бути єдиним, хто має цю головоломку. Я не можу уявити, що для цього питання немає рішення. Як це можна зробити?

Заздалегідь спасибі.


3
У всіх є ця проблема, і немає простого рішення, тримати код у контролі редагування, часто пересилати sql на сервер, який здійснює встановлення, створювати блокування технічного обслуговування під час міграцій (5-10 хв).
Вік

Я не погодився б. Плагін RAMP CrowdFavorite - це просте рішення для тих, кому потрібно стадіювати та розміщувати вміст. Називати це "простим рішенням" може бути розтяжкою, але це добре, і будь-який розробник повинен мати можливість його налаштувати (потрібен SSH та віддалений доступ до MySQL тощо)
jb510

Хтось спробував sitepush ? Я не проти платити 250 доларів за Ramp, якщо це краще рішення, але важко зрозуміти зовні, наскільки добре ці системи працюють без повного розгортання та тестування, я думаю.
Джеймс

Не використовувався sitepush. Схоже, що це підштовхує повні БД (як-от Міграція WP DB Pro). Це добре для розгортання статичного сайту, але виходить з ладу під час динаміки в реальному часі (тобто нові повідомлення / коментарі трапляються). RAMP фактично управляє різницею між БД і об'єднаннями, а не замінює живу БД.
jb510

Можливо, ви хочете використовувати DBV PHP , проект з відкритим кодом, щоб поставити вашу БД під контроль версій. У нього навіть є інтерфейс користувача, щоб полегшити управління. Іншим варіантом було б перейти на, наприклад, Laravel, який має додаток для міграції, вбудований у додаток CLI.
кайзер

Відповіді:


2

Дійсно, непростий спосіб зробити те, що ви хочете зробити, але те, що я би зробив, - це зробити знімок вашого сайту, здійснити зміни в йору, і якщо щось гальмує, відновіть і спробуйте ще раз. Це може стояти протягом години, але я нещодавно це робив, коли я якось замурував сайт, над яким працював. Це може бути не «правильним» способом вирішення проблеми, однак для мене це працює. Удачі.


Як можливо, що команда WP не задумалася про професійний спосіб зробити це? це 2018 !!
asael2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.