--- title: Руководство по обновлению image: /images/user-guide/notes/notes_header.png --- Header ## Общие рекомендации **Always make sure to back up your database before starting the upgrade process** by running `docker exec -it {db_container_name_or_id} pg_dumpall -U {postgres_user} > databases_backup.sql`. To restore backup, run `cat databases_backup.sql | docker exec -i {db_container_name_or_id} psql -U {postgres_user}`. Если вы использовали Docker Compose, выполните следующие шаги: 1. В терминале на хосте, где работает Twenty, отключите Twenty: `docker compose down`. 2. Обновите версию, изменив значение `TAG` в файле .env рядом с вашим docker-compose. ( Мы рекомендуем использовать версии `major.minor`, такие как `v0.53`. ) 3. Верните Twenty в сеть с `docker compose up -d`. Если вы хотите обновить свою инстанцию на несколько версий, например с v0.33.0 до v0.35.0, вам потребуется сделать это поэтапно, сначала с v0.33.0 до v0.34.0, затем с v0.34.0 до v0.35.0. **Убедитесь, что после каждой обновленной версии у вас есть не поврежденная резервная копия.** ## Специфические для версии шаги обновления ## v1.0 Привет, Twenty v1.0! 🎉 ## v0.60 ### Улучшение производительности Все взаимодействия с метаданными API оптимизированы для повышения производительности, особенно для манипуляции метаданными объектов и операций создания рабочих пространств. Мы обновили стратегию кэширования, чтобы приоритетом были попадания кэша перед запросами к базе данных, что значительно улучшило производительность операций с метаданными API. Если после обновления у вас возникнут проблемы с запуском, возможно, потребуется очистить ваш кэш, чтобы синхронизировать его с последними изменениями. Запустите эту команду в вашем контейнере twenty-server: ```bash yarn command:prod cache:flush ``` ### v0.55 Обновите вашу инстанцию Twenty для использования изображения v0.55 Вам больше не нужно запускать никакие команды, новое изображение автоматически выполнит все необходимые миграции. ### `User does not have permission` error Если после обновления вы столкнетесь с ошибками авторизации в большинстве запросов, возможно, потребуется очистить кэш для пересчета последних прав доступа. В вашем контейнере `twenty-server`, запустите: ```bash yarn command:prod cache:flush ``` Эта проблема специфична для данной версии Twenty и не должна требоваться для будущих обновлений. ### v0.54 Начиная с версии `0.53`, ручные действия не требуются. #### Отказ от схемы метаданных Мы объединили схему `metadata` в `core`, чтобы упростить извлечение данных из `TypeORM`. Мы объединили этап команды `migrate` в команду `upgrade`. Мы не рекомендуем запускать `migrate` вручную в ваших контейнерах серверов/рабочих. ### Начиная с v0.53 Начиная с `0.53`, обновление программно выполняется внутри `DockerFile`, это означает, что отныне вам больше не нужно запускать команды вручную. Убедитесь, что вы обновляете свою инстанцию последовательно, без пропуска основной версии (например, `0.43.3` на `0.44.0` допускается, но `0.43.1` на `0.45.0` нет), иначе это может привести к десинхронизации версии рабочего пространства, что может вызвать ошибку во время выполнения и отсутствовать функциональность. Чтобы проверить, правильно ли было мигрировано рабочее пространство, вы можете просмотреть его версию в базе данных в таблице `core.workspace`. Она всегда должна находиться в диапазоне текущей версии вашего инстанции Twenty `major.minor`, вы можете просмотреть версию инстанции в админ-панели (на `/settings/admin-panel`, доступна, если свойство `canAccessFullAdminPanel` вашего пользователя установлено на true в базе данных) или запустив `echo $APP_VERSION` в вашем контейнере `twenty-server`. Чтобы исправить десинхронизированную версию рабочего пространства, вам потребуется обновить его с соответствующей версии Twenty, следуя последовательному руководству по обновлению и так далее, пока он не достигнет желаемой версии. #### Удаление `auditLog` Мы удалили стандартный объект auditLog, что означает, что размер вашей резервной копии может значительно уменьшиться после этой миграции. ### v0.51 до v0.52 Обновите вашу инстанцию Twenty для использования изображения v0.52 ``` yarn database:migrate:prod yarn command:prod upgrade ``` #### У меня рабочее пространство заблокировано на версии между `0.52.0` и `0.52.6`. К сожалению, `0.52.0` и `0.52.6` были полностью удалены из dockerHub. Вам потребуется вручную обновить версию рабочего пространства до `0.51.0` в базе данных и обновить с использованием версии twenty `0.52.11`, следуя её руководству по обновлению. ### v0.50 до v0.51 Обновите вашу инстанцию Twenty для использования изображения v0.51 ``` yarn database:migrate:prod yarn command:prod upgrade ``` ### v0.44.0 до v0.50.0 Обновите вашу инстанцию Twenty для использования изображения v0.50.0 ``` yarn database:migrate:prod yarn command:prod upgrade ``` #### Модификация в docker-compose.yml Эта версия включает модификацию `docker-compose.yml`, чтобы предоставить сервису `worker` доступ к тому `server-local-data`. Обновите ваш локальный `docker-compose.yml` с [v0.50.0 docker-compose.yml](https://github.com/twentyhq/twenty/blob/v0.50.0/packages/twenty-docker/docker-compose.yml) ### v0.43.0 до v0.44.0 Обновите вашу инстанцию Twenty для использования изображения v0.44.0 ``` yarn database:migrate:prod yarn command:prod upgrade ``` ### v0.42.0 до v0.43.0 Обновите вашу инстанцию Twenty для использования изображения v0.43.0 ``` yarn database:migrate:prod yarn command:prod upgrade ``` В этой версии мы также переключились на изображение postgres:16 в docker-compose.yml. #### (Вариант 1) Миграция базы данных Сохранение существующего изображения postgres-spilo приемлемо, но вам потребуется зафиксировать версию в вашем docker-compose.yml на 0.43.0. #### (Вариант 2) Миграция базы данных Если вы хотите мигрировать вашу базу данных на новое изображение postgres:16, следуйте этим шагам: 1. Сделайте дамп вашей базы данных из старого контейнера postgres-spilo ``` docker exec -it twenty-db-1 sh pg_dump -U {YOUR_POSTGRES_USER} -d {YOUR_POSTGRES_DB} > databases_backup.sql exit docker cp twenty-db-1:/home/postgres/databases_backup.sql . ``` Убедитесь, что ваш файл дампа не пустой. 2. Обновите ваш файл docker-compose.yml с использованием изображения postgres:16, как в файле [docker-compose.yml](https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/docker-compose.yml). 3. Восстановите базу данных в новый контейнер postgres:16. ``` docker cp databases_backup.sql twenty-db-1:/databases_backup.sql docker exec -it twenty-db-1 sh psql -U {YOUR_POSTGRES_USER} -d {YOUR_POSTGRES_DB} -f databases_backup.sql exit ``` ### v0.41.0 до v0.42.0 Обновите вашу инстанцию Twenty для использования изображения v0.42.0 ``` yarn database:migrate:prod yarn command:prod upgrade-0.42 ``` **Переменные окружения** - Удалено: `FRONT_PORT`, `FRONT_PROTOCOL`, `FRONT_DOMAIN`, `PORT` - Добавлено: `FRONTEND_URL`, `NODE_PORT`, `MAX_NUMBER_OF_WORKSPACES_DELETED_PER_EXECUTION`, `MESSAGING_PROVIDER_MICROSOFT_ENABLED`, `CALENDAR_PROVIDER_MICROSOFT_ENABLED`, `IS_MICROSOFT_SYNC_ENABLED` ### v0.40.0 до v0.41.0 Обновите вашу инстанцию Twenty для использования изображения v0.41.0 ``` yarn database:migrate:prod yarn command:prod upgrade-0.41 ``` **Переменные окружения** - Удалено: `AUTH_MICROSOFT_TENANT_ID` ### v0.35.0 до v0.40.0 Обновите вашу инстанцию Twenty для использования изображения v0.40.0 ``` yarn database:migrate:prod yarn command:prod upgrade-0.40 ``` **Переменные окружения** - Добавлено: `IS_EMAIL_VERIFICATION_REQUIRED`, `EMAIL_VERIFICATION_TOKEN_EXPIRES_IN`, `WORKFLOW_EXEC_THROTTLE_LIMIT`, `WORKFLOW_EXEC_THROTTLE_TTL` ### v0.34.0 до v0.35.0 Обновите вашу инстанцию Twenty для использования изображения v0.35.0 ``` yarn database:migrate:prod yarn command:prod upgrade-0.35 ``` Команда `yarn database:migrate:prod` применяет миграции к структуре базы данных (схемы core и metadata) Команда `yarn command:prod upgrade-0.35` заботится о миграции данных всех рабочих пространств. **Переменные окружения** - Мы заменили `ENABLE_DB_MIGRATIONS` на `DISABLE_DB_MIGRATIONS` (значение по умолчанию теперь `false`, вероятно, вам не потребуется ничего устанавливать) ### v0.33.0 до v0.34.0 Обновите вашу инстанцию Twenty для использования изображения v0.34.0 ``` yarn database:migrate:prod yarn command:prod upgrade-0.34 ``` Команда `yarn database:migrate:prod` применяет миграции к структуре базы данных (схемы core и metadata) Команда `yarn command:prod upgrade-0.34` заботится о миграции данных всех рабочих пространств. **Переменные окружения** - Удалено: `FRONT_BASE_URL` - Добавлено: `FRONT_DOMAIN`, `FRONT_PROTOCOL`, `FRONT_PORT` Мы обновили способ обработки URL frontend. Теперь вы можете установить URL frontend, используя переменные `FRONT_DOMAIN`, `FRONT_PROTOCOL` и `FRONT_PORT`. Если FRONT_DOMAIN не установлен, URL frontend будет зависеть от `SERVER_URL`. ### v0.32.0 до v0.33.0 Обновите вашу инстанцию Twenty для использования изображения v0.33.0 ``` yarn command:prod cache:flush yarn database:migrate:prod yarn command:prod upgrade-0.33 ``` Команда `yarn command:prod cache:flush` очистит кэш Redis. Команда `yarn database:migrate:prod` применяет миграции к структуре базы данных (схемы core и metadata) Команда `yarn command:prod upgrade-0.33` заботится о миграции данных всех рабочих пространств. Начиная с этой версии, образ twenty-postgres для DB становится устаревшим, и вместо него используется twenty-postgres-spilo. Если вы хотите продолжать использовать изображение twenty-postgres, просто замените `twentycrm/twenty-postgres:${TAG}` на `twentycrm/twenty-postgres` в файле docker-compose.yml. ### v0.31.0 до v0.32.0 Обновите вашу инстанцию Twenty для использования изображения v0.32.0 **Миграция схемы и данных** ``` yarn database:migrate:prod yarn command:prod upgrade-0.32 ``` Команда `yarn database:migrate:prod` применяет миграции к структуре базы данных (схемы core и metadata) Команда `yarn command:prod upgrade-0.32` заботится о миграции данных всех рабочих пространств. **Переменные окружения** Мы обновили способ обработки соединения с Redis. - Удалено: `REDIS_HOST`, `REDIS_PORT`, `REDIS_USERNAME`, `REDIS_PASSWORD` - Добавлено: `REDIS_URL` Обновите ваш файл `.env` для использования новой переменной `REDIS_URL` вместо индивидуальных параметров подключения Redis. Мы также упростили способ обработки JWT токенов. - Удалено: `ACCESS_TOKEN_SECRET`, `LOGIN_TOKEN_SECRET`, `REFRESH_TOKEN_SECRET`, `FILE_TOKEN_SECRET` - Добавлено: `APP_SECRET` Обновите ваш файл `.env` для использования новой переменной `APP_SECRET` вместо индивидуальных секрета токенов (вы можете использовать прежний секрет или сгенерировать новую случайную строку). **Подключенный Аккаунт** Если вы используете подключенный аккаунт для синхронизации ваших электронных писем и календарей Google, вам потребуется активировать [API людей](https://developers.google.com/people) на вашей консоли администратора Google. ### v0.30.0 до v0.31.0 Обновите вашу инстанцию Twenty для использования изображения v0.31.0 **Миграция схемы и данных:** ``` yarn database:migrate:prod yarn command:prod upgrade-0.31 ``` Команда `yarn database:migrate:prod` применяет миграции к структуре базы данных (схемы core и metadata) Команда `yarn command:prod upgrade-0.31` заботится о миграции данных всех рабочих пространств. ### v0.24.0 до v0.30.0 Обновите вашу инстанцию Twenty для использования изображения v0.30.0 **Breaking change**: To enhance performances, Twenty now requires redis cache to be configured. Мы обновили [docker-compose.yml](https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/docker-compose.yml) для этого. Убедитесь, что вы обновили свою конфигурацию и обновили переменные окружения соответственно: ``` REDIS_HOST={your-redis-host} REDIS_PORT={your-redis-port} CACHE_STORAGE_TYPE=redis ``` **Миграция схемы и данных:** ``` yarn database:migrate:prod yarn command:prod upgrade-0.30 ``` Команда `yarn database:migrate:prod` применяет миграции к структуре базы данных (схемы core и metadata) Команда `yarn command:prod upgrade-0.30` заботится о миграции данных всех рабочих пространств. ### v0.23.0 до v0.24.0 Обновите вашу инстанцию Twenty для использования изображения v0.24.0 Выполните следующие команды: ``` yarn database:migrate:prod yarn command:prod upgrade-0.24 ``` Команда `yarn database:migrate:prod` применяет миграции к структуре базы данных (схемы core и metadata) Команда `yarn command:prod upgrade-0.24` заботится о миграции данных всех рабочих пространств. ### v0.22.0 до v0.23.0 Обновите вашу инстанцию Twenty для использования изображения v0.23.0 Выполните следующие команды: ``` yarn database:migrate:prod yarn command:prod upgrade-0.23 ``` Команда `yarn database:migrate:prod` применяет миграции к Базе данных. Команда `yarn command:prod upgrade-0.23` заботится о миграции данных, включая перенос активностей в задачи/заметки. ### v0.21.0 до v0.22.0 Обновите вашу инстанцию Twenty для использования изображения v0.22.0 Выполните следующие команды: ``` yarn database:migrate:prod yarn command:prod workspace:sync-metadata -f yarn command:prod upgrade-0.22 ``` Команда `yarn database:migrate:prod` применяет миграции к Базе данных. Команда `yarn command:prod workspace:sync-metadata -f` синхронизирует определение стандартных объектов с таблицами метаданных и применит необходимые миграции к существующим рабочим пространствам. Команда `yarn command:prod upgrade-0.22` выполнит преобразование данных для адаптации к новым параметрам по умолчанию объекта defaultRequestInstrumentationOptions.