--- 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. **Make sure that after each upgraded version you have non-corrupted backup.** ## Version-specific upgrade steps ## v1.0 Привіт, Twenty v1.0! 🎉 ## v0.60 ### Покращення продуктивності Всі взаємодії з API метаданих були оптимізовані для підвищення продуктивності, особливо для маніпуляцій з метаданими об'єктів та операцій створення робочої області. Ми реорганізували нашу стратегію кешування, щоб віддавати перевагу попаданням у кеш над запитами до бази даних, значно підвищуючи продуктивність операцій API метаданих. Якщо після оновлення виникнуть проблеми з виконанням, можливо, вам доведеться очистити ваш кеш, щоб синхронізувати його з останніми змінами. Run this command in your twenty-server container: ```bash yarn command:prod cache:flush ``` ### v0.55 Оновіть ваш екземпляр Twenty для використання зображення v0.55 Вам більше не потрібно виконувати жодні команди, нове зображення автоматично подбає про запуск всіх необхідних міграцій. ### Помилка `Користувач не має дозволу` Якщо після оновлення ви стикаєтеся з помилками авторизації у більшості запитів, можливо, вам доведеться очистити ваш кеш, щоб знову обчислити останні дозволи. У вашому контейнері `twenty-server`, запустіть: ```bash yarn command:prod cache:flush ``` This issue is specific to this Twenty version and should not be required for future upgrades. ### 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`. Вона завжди повинна бути в межах вашої поточної версії `major.minor` екземпляра Twenty. Ви можете переглянути версію вашого екземпляра на панелі адміністратора (за адресою `/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` застосує міграції до структури бази даних (ключова частина та схеми метаданих) Команда `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` застосує міграції до структури бази даних (ключова частина та схеми метаданих) Команда `yarn command:prod upgrade-0.34` піклується про міграцію даних усіх робочих областей. **Змінні середовища** - Вилучено: `FRONT_BASE_URL` - Додано: `FRONT_DOMAIN`, `FRONT_PROTOCOL`, `FRONT_PORT` Ми оновили спосіб обробки URL-адреси інтерфейсу. Тепер ви можете встановити URL-адресу інтерфейсу, використовуючи змінні `FRONT_DOMAIN`, `FRONT_PROTOCOL` та `FRONT_PORT`. Якщо FRONT_DOMAIN не встановлено, URL-адреса інтерфейсу буде повертатись до `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` застосує міграції до структури бази даних (ключова частина та схеми метаданих) Команда `yarn command:prod upgrade-0.33` піклується про міграцію даних усіх робочих областей. Наразі з цієї версії образ twenty-postgres для бази даних вважається застарілим, і використовує замість цього 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` застосує міграції до структури бази даних (ключова частина та схеми метаданих) Команда `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, вам потрібно активувати [People 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` застосує міграції до структури бази даних (ключова частина та схеми метаданих) Команда `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. We have updated our [docker-compose.yml](https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/docker-compose.yml) to reflect this. Переконайтеся, що оновили вашу конфігурацію та змінні середовища відповідним чином: ``` 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` застосує міграції до структури бази даних (ключова частина та схеми метаданих) Команда `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` застосує міграції до структури бази даних (ключова частина та схеми метаданих) Команда `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.