
General guidelines
Always make sure to back up your database before starting the upgrade process by runningdocker 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}.
Dacă ați utilizat Docker Compose, urmați acești pași:
-
Într-un terminal, pe găzduitorul unde rulează Twenty, opriți Twenty:
docker compose down. -
Actualizați versiunea modificând valoarea
TAGdin fișierul .env în apropierea docker-compose-ului. ( We recommend consumingmajor.minorversion such asv0.53) -
Repuneți Twenty în funcțiune cu comanda
docker compose up -d.
Pași de actualizare specifici versiunii
v1.0
Salut Twenty v1.0! 🎉v0.60
Îmbunătățiri de performanță
Toate interacțiunile cu API-ul de metadata au fost optimizate pentru o performanță mai bună, în special pentru manipularea metadata-ului obiectelor și operațiile de creare a spațiilor de lucru. Am refăcut strategia de caching pentru a prioritiza accesările din cache în detrimentul interogărilor către baza de date, îmbunătățind semnificativ performanța operațiunilor API-ului de metadata. Dacă întâmpinați probleme de runtime după actualizare, s-ar putea să fie nevoie să goliți cache-ul pentru a vă asigura că este sincronizat cu ultimele schimbări. Rulați această comandă în containerul dvs. twenty-server:v0.55
Actualizați instanța Twenty pentru a utiliza imaginea v0.55 Nu este necesar să mai rulați nici o comandă, noua imagine se va ocupa automat de rularea tuturor migrațiilor necesare.Eroare Utilizatorul nu are permisiune
Dacă întâmpinați erori de autorizare la majoritatea cererilor după actualizare, s-ar putea să fie nevoie să goliți cache-ul pentru a recalcula permisiunile actualizate.
În containerul dvs. twenty-server, rulați:
v0.54
Începând cu versiunea0.53, nu sunt necesare acțiuni manuale.
Depășirea schemelor de metadata
Am combinat schemametadata cu cea core pentru a simplifica extragerea datelor din TypeORM.
Am îmbinat pasul de comandă migrate în cadrul comenzii upgrade. Nu recomandăm rularea manuală a comenzii migrate în oricare dintre containerele dvs. server/worker.
Începând cu v0.53
Începând cu0.53, actualizarea se face programatic în cadrul DockerFile, ceea ce înseamnă că de acum nu ar trebui să mai fie necesar să rulați manual nici o comandă.
Asigurați-vă că vă actualizați instanța secvențial, fără a sări peste nicio versiune majoră (de exemplu, 0.43.3 to 0.44.0 este permis, dar 0.43.1 to 0.45.0 nu este), altfel ar putea duce la desincronizare a versiunii spațiului de lucru, care ar putea rezulta în erori de runtime și funcționalități lipsă.
Pentru a verifica dacă un spațiu de lucru a fost migrat corect, puteți verifica versiunea acestuia în baza de date în tabelul core.workspace.
Ar trebui să fie mereu în intervalul versiunii Twenty curente major.minor, puteți vizualiza versiunea instanței dvs. în panoul de administrare (la /settings/admin-panel, accesibil dacă utilizatorul dvs. are proprietatea canAccessFullAdminPanel setată la adevărat în baza de date) sau executând echo $APP_VERSION în containerul dvs. twenty-server.
Pentru a remedia o desincronizare a versiunii spațiului de lucru, va trebui să actualizați din versiunea corespunzătoare Twenty urmând ghidul de actualizare relevant secvențial și așa mai departe până când ajungeți la versiunea dorită.
Eliminarea auditLog
Am eliminat obiectul standard auditLog, ceea ce înseamnă că dimensiunea backup-ului dvs. ar putea fi redusă semnificativ după această migrație.
v0.51 la v0.52
Actualizați instanța Twenty pentru a utiliza imaginea v0.52Am un spațiu de lucru blocat în versiunea între 0.52.0 și 0.52.6.
Din păcate, 0.52.0 și 0.52.6 au fost complet eliminate din dockerHub.
Va trebui să actualizați manual versiunea spațiului de lucru la 0.51.0 în baza de date și să actualizați utilizând versiunea twenty 0.52.11 urmând ghidul de actualizare de mai sus.
v0.50 la v0.51
Actualizați instanța Twenty pentru a utiliza imaginea v0.51v0.44.0 la v0.50.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.50.0Mutarea docker-compose.yml
Această versiune include o mutațiedocker-compose.yml pentru a oferi serviciului worker acces la volumul server-local-data.
Vă rugăm să actualizați docker-compose.yml-ul dvs. local cu v0.50.0 docker-compose.yml
v0.43.0 la v0.44.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.44.0v0.42.0 la v0.43.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.43.0(Opțiunea 1) Migrarea bazei de date
Păstrarea imaginii existente postgres-spilo este adecvată, însă va trebui să congelați versiunea în docker-compose.yml la 0.43.0.(Opțiunea 2) Migrarea bazei de date
Dacă doriți să migrați baza de date la noua imagine postgres:16, urmați acești pași:- Copieți baza de date din vechiul container postgres-spilo
- Actualizați docker-compose.yml-ul pentru a utiliza imaginea postgres:16 din fișierul docker-compose.yml.
- Restaurați baza de date în noul container postgres:16
v0.41.0 la v0.42.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.42.0- Eliminat:
FRONT_PORT,FRONT_PROTOCOL,FRONT_DOMAIN,PORT - Adăugat:
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 la v0.41.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.41.0- Eliminat:
AUTH_MICROSOFT_TENANT_ID
v0.35.0 la v0.40.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.40.0- Adăugat:
IS_EMAIL_VERIFICATION_REQUIRED,EMAIL_VERIFICATION_TOKEN_EXPIRES_IN,WORKFLOW_EXEC_THROTTLE_LIMIT,WORKFLOW_EXEC_THROTTLE_TTL
v0.34.0 la v0.35.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.35.0yarn database:migrate:prod va aplica migrațiile pe structura bazei de date (schemele de core și metadata)
Comanda yarn command:prod upgrade-0.35 se ocupă de migrația datelor pentru toate spațiile de lucru.
Variabile de mediu
- Am înlocuit
ENABLE_DB_MIGRATIONScuDISABLE_DB_MIGRATIONS(valoarea standard este acumfalse, probabil nu va trebui să setați nimic)
v0.33.0 la v0.34.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.34.0yarn database:migrate:prod va aplica migrațiile pe structura bazei de date (schemele core și metadata)
Comanda yarn command:prod upgrade-0.34 se ocupă de migrația datelor pentru toate spațiile de lucru.
Variabile de mediu
- Eliminat:
FRONT_BASE_URL - Adăugat:
FRONT_DOMAIN,FRONT_PROTOCOL,FRONT_PORT
FRONT_DOMAIN, FRONT_PROTOCOL și FRONT_PORT.
Dacă FRONT_DOMAIN nu este setat, URL-ul frontend va reveni la SERVER_URL.
v0.32.0 la v0.33.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.33.0yarn command:prod cache:flush va goli cache-ul Redis.
Comanda yarn database:migrate:prod va aplica migrațiile pe structura bazei de date (schemele core și metadata)
Comanda yarn command:prod upgrade-0.33 se ocupă de migrația datelor pentru toate spațiile de lucru.
Începând cu această versiune, imaginea twenty-postgres pentru DB a devenit depășită și se utilizează twenty-postgres-spilo.
Dacă doriți să păstrați utilizarea imaginii twenty-postgres, înlocuiți pur și simplu twentycrm/twenty-postgres:${TAG} cu twentycrm/twenty-postgres în docker-compose.yml.
v0.31.0 la v0.32.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.32.0 Migrarea schemelor și dateloryarn database:migrate:prod va aplica migrațiile pe structura bazei de date (schemele core și metadata)
Comanda yarn command:prod upgrade-0.32 se ocupă de migrația datelor pentru toate spațiile de lucru.
Variabile de mediu
Am actualizat modul în care gestionăm conexiunea Redis.
- Eliminat:
REDIS_HOST,REDIS_PORT,REDIS_USERNAME,REDIS_PASSWORD - Adăugat:
REDIS_URL
.env pentru a utiliza noua variabilă REDIS_URL în locul parametrilor individuali de conexiune Redis.
Am simplificat, de asemenea, modul în care gestionăm jetoanele JWT.
- Eliminat:
ACCESS_TOKEN_SECRET,LOGIN_TOKEN_SECRET,REFRESH_TOKEN_SECRET,FILE_TOKEN_SECRET - Adăugat:
APP_SECRET
.env pentru a utiliza noua variabilă APP_SECRET în locul secretelor individuale ale tokenurilor (puteți folosi același secret ca și înainte sau generați unul nou aleator).
Cont conectat
Dacă utilizați un cont conectat pentru a sincroniza emailurile și calendarele Google, va trebui să activați People API în consola dvs. Google Admin.
v0.30.0 la v0.31.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.31.0 Migrarea schemelor și datelor:yarn database:migrate:prod va aplica migrațiile pe structura bazei de date (schemele core și metadata)
Comanda yarn command:prod upgrade-0.31 se ocupă de migrația datelor pentru toate spațiile de lucru.
v0.24.0 la v0.30.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.30.0 Breaking change: To enhance performances, Twenty now requires redis cache to be configured. Am actualizat docker-compose.yml pentru a reflecta acest lucru. Asigurați-vă că vă actualizați configurația și actualizați variabilele de mediu corespunzător:yarn database:migrate:prod va aplica migrațiile pe structura bazei de date (schemele core și metadata)
Comanda yarn command:prod upgrade-0.30 se ocupă de migrația datelor pentru toate spațiile de lucru.
v0.23.0 la v0.24.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.24.0 Rulați următoarele comenzi:yarn database:migrate:prod va aplica migrațiile pe structura bazei de date (schemele core și metadata)
Comanda yarn command:prod upgrade-0.24 se ocupă de migrația datelor pentru toate spațiile de lucru.
v0.22.0 la v0.23.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.23.0 Rulați următoarele comenzi:yarn database:migrate:prod va aplica migrațiile pe baza de date.
Comanda yarn command:prod upgrade-0.23 se ocupă de migrația datelor, inclusiv transferul activităților către sarcini/note.
v0.21.0 la v0.22.0
Actualizați instanța Twenty pentru a utiliza imaginea v0.22.0 Rulați următoarele comenzi:yarn database:migrate:prod va aplica migrațiile pe baza de date.
Comanda yarn command:prod workspace:sync-metadata -f va sincroniza definiția obiectelor standard cu tabelele de metadate și va aplica migrațiile necesare în spațiile de lucru existente.
Comanda yarn command:prod upgrade-0.22 va aplica transformări specifice de date pentru a se adapta la noile opțiuni defaultRequestInstrumentationOptions ale obiectului.