Откат к предидущей версии плагина если обнова будет неудачной Есть решение

У нас ранне была проблема с одним плагином после перехода на свой сервак. Если установить обнову этому плагину, то он слетал. Сейчас хочу обновить так как есть в работе плагина ошибка. Если обновление опять будет неудачное, как вернуть после этого старую версию плагина?

10 ответов

  • 2

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

  • 2
    replicant 16 апреля 2022 18:23 #

    Если есть доступ к серверу, то можно всё целиком и не откатывать. Плагин при обновлении сохраняет свою предыдущую версию в wa-data/protected/wa-installer/backup... Оттуда её легко вытащить. Ну или как минимум сохранить файлы плагина в состоянии До вручную.

    Есть плагины, которые ещё и вносят изменения в базу данных при установке, но это тоже можно выяснить точечно. Т.е. сохранить ту часть базы, которая имеет к этому плагину отношение напрямую в состоянии До и После.

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

    Опять же всегда можно выйти на связь с разработчиком и всё выяснить. Вдруг он и поможет.

    Варианты есть, но для тонкой операции нужна определенная квалификация.

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

    • +1

      файлы то ты откатишь, а вот базу нет

      • +1

        Почему? Все правильно:

        точечные действия более аккуратными инструментами

        • +1

          Сложно отследить backside эффекты/действия - точечный откат может нарушить целостность данных.

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

          На то Вы и разработчик, а вот пользователи - нет.

          • +1

            Сложно отследить backside эффекты/действия - точечный откат может нарушить целостность данных.

            Да, всё так.  Надо понимать что делаешь и для чего.

            Идея для плагина...  "Безопасное обновление" =)  Благо добрая половина требуемого функционала уже есть по разным продуктам...

            • +1
              Надо понимать что делаешь и для чего.

              Вы видимо не до конца понимаете что такое backside эффект: действия плагина могут вызывать каскадный вызов других плагинов/приложений.

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

              "Самый простой и надежный способ" - сделать копию сайта и на ней протестировать работу, отрубив перед этим все плагины передающие данные сторонним сервисам.

              Идея для плагина... "Безопасное обновление"

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

              • +1

                действия плагина могут вызывать каскадный вызов других плагинов/приложений

                Естественно. Только эти действия достаточно просто идентифицируются (не их суть, а как минимум их наличие в потенциальном обновлении). И достаточно просто предупредить об этом пользователя, чтобы он сам принял то или иное решение. Но порядка 80% ситуаций с обновлениями можно было б покрыть. Сложные метаобновления - это скорее исключение чем правило.

                • +1
                  И достаточно просто предупредить об этом пользователя, чтобы он сам принял то или иное решение.

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

                  Но порядка 80% ситуаций с обновлениями можно было б покрыть. Сложные метаобновления - это скорее исключение чем правило.

                  Плагин "Безопасное обновление" переименовывается "Безопасное обновление в 80% ситуаций". Каждому купившему плагин сегодня, икона Николая-чудотворца в подарок!

  • 1

    Я сделал по другому. Создал дубликат админки по вот этой инструкции: https://support.webasyst.ru/40281/test-website/

    И протестил на ней. Может кому пригодиться

Добавить ответ

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