Блог

Обновление OroCrm

Новые версии OroPlatform и OroCrm выходят довольно регулярно. Каждое обновление добавляет новый функционал и исправляет существующие ошибки.

Чтобы быть уверенным в стабильности работы вашей CRM-системы, мы рекомендуем регулярно проверять наличие обновлений и устанавливать их.

А если вы еще не установили эту просто отличную CRM - мы подготовили для вас простую инструкцию.

В конце августа стали доступны версии 1.8 пакетов OroPlatfrom и OroCrm. Для разработчиков это обновление особенно тем, что теперь Oro использует последнюю LTS версию Symfony - 2.7.

Предыдущие версии платформы работали на Symfony LTS 2.3. Symfony 2.7 будет развиваться и поддерживаться вплоть до 2018 года, для больших и долгих проектов это огромный плюс.

Внимание! Перед выполнением процедуры обновления обязательно сделайте резервную копию базы данных и всех исходных кодов текущей версии платформы!

Для начала вам необходимо проверить номер версии, установленной у вас. Выбираем пункт меню "Система" -- "Информация о системе" и видим приблизительно следующее:

В данный момент нас интересуют только версии пакетов "Oro", как видим у нас версия платформы и версия CRM - 1.7.1

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

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

Например, для обновления до версии 1.8 этот файлик содержит довольно много изменений.

Обновление платформы сводится к четырем простым шагам:

  1. Получение новой версии исходников
  2. Установка новых (и обновление старых) зависимостей
  3. Очистка кеша и статичных файлов
  4. Запуск процедуры обновления

Новые версии исходников мы заберем прямо из репозитория с исходным кодом следующей командой:

git pull
git checkout 1.8

Теперь разберемся с composer-зависимостями:

composer selfupdate && composer install --prefer-dist

Процедура может занять довольно длительное время.

Пришло время почистить некоторые каталоги:

rm -rf app/cache/*
rm -rf web/js/*
rm -rf web/css/*

И последним шагом запускаем непосредственное обновление платформы:

php app/console oro:platform:update --env=prod

Oro еще раз нас предупреждает о необходимости сделать резервную копию существующей базы данных:

ATTENTION: Database backup is highly recommended before executing this command.
           Please make sure that application cache is up-to-date or empty before run this command.
           Use cache:clear --no-optional-warmers if needed.
To force execution run command with --force option:
    oro:platform:update --force

Повторно запускаем команду обновления, но на этот раз с ключом "--force":

php app/console oro:platform:update --env=prod --force

После этого начнется применение новых миграций, база данных системы будет изменена.

Будут скопированы новые статичные файлы и созданы необходимые директории.

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

Но если что-то пойдет не так - напишите нам мы постараемся вам помочь.

Снова заходим в "Система" -- "Информация о системе" и видим:

Пакеты Oro обновлены до последних версий!

В следующей заметке мы рассмотрим как устанавливать новые языки интерфейса и начнем работу!

А если вас интересует вопрос как создать свое расширение для OroCrm - почитайте нашу первую заметку на эту тему!