Peke ki te ihirangi

Te whakahou me te kore wehenga

Whakahoua a Quire e whakahaeretia ana e koe, me te kore wehenga.

Tirohia hei Markdown

Kei te docs/architecture/23-ops.md wāhanga 7 me te docs/architecture/07-data.md wāhanga 4.1 ngā ture. Ko tēnei te tukanga.

Te tūpono e haumaru ana i te whakahou

Ka mahi tika te whakaputanga R ki te kupunga R me te kupunga R-1. Ka wehea ia huringa kupunga ki te whakarnui, te whakawhiti me te whakaiti:

  1. Whakarnui: tāiritia te pou hou, te pūrataka rānei te tohu whakarārangi. Ka kore e mātakitaki te waehere tawhito i a ia.
  2. Te whakawhiti, mō te iti rawa tētahi whakaputanga: ka tuhi te waehere hou i ē āhua e rua, ā, ka pānui i te āhua hou; ka tātai tētahi mahi e taea te tukina anō i ngā rārangi tawhito.
  3. Te whakaiti: tangohia te āhua tawhito, i tētahi whakaputanga i muri mai, motuhake.

Nō reira i ia wā o tētahi whakahou e haere tonu ana, ka āea ngā pū tawhito me ngā hou te tohono i tētahi pūtaka. Kāore he whakawhiti whakararo: ka kore e taea e tētahi whakawhiti kua tangohia pou i te haora i mua te tuku anō i ngā rārangi kua tuhia i tērā haora.

Ka tātaritia e te mahi CI schema-compat te tūpono i ia whakaputanga ma te whakatu ngā whakamātau o te whakaputanga i mua ki te kupunga hou.

I mua i te tīmata

  1. Pānuitia ngā tuhipoka whakaputanga. Ka kōrerotia e tētahi whakaputanga e hiahiatia ana tētahi wā tiaki, me te tataunga; iti rawa tētahi ia whakaputanga.
  2. Whakatematemaina te whakamātau whakahoki, rānei tautuhia kua oti pai ia mō tēnei whakaputanga (backup-restore.md). Ka ārahi tētahi whakamātau kua rahua i te whakahou.
  3. Tangohia he pupuniBackup tūmatanui: docker compose -f docker/compose.yaml --profile backup run --rm backup.

Docker Compose, tētahi pūrere

export QUIRE_RELEASE=2026.10.0            # or set it in docker/.env
docker compose -f docker/compose.yaml pull   # or build
docker compose -f docker/compose.yaml run --rm migrate
docker compose -f docker/compose.yaml up -d --no-deps web content collab
docker compose -f docker/compose.yaml up -d --no-deps worker scheduler

He whakaaro tika te tātari:

  1. Whakawhiti tuatahi, i te wā e tuku ana te whakaputanga tawhito i te rere. Ka kore e kite ia i ngā whakawhiti whakarnui.
  2. Te wāhanga ipurangi i muri. I te SIGTERM ka huri ia pū ipurangi te /readyz ki te draining, ka oti i roto i te 30 hēkona ngā tono kei te rere, ka katia ngā rere me tētahi tohutohu hono anō, ā, ka wehea. Ko te stop_grace_period ko te 40 hēkona, nō reira kāore e tapa te Compose i tētahi whakatā e ora ana.
  3. Ngā kai mahi te mutunga, kia hanga te āhua o te take hou rawa i mua i te whā o te kai whangai hou rawa. Ka tū ngā kai mahi i te wā kotahi te rapu, ā, ka whiwhi rātou i te 120 hēkona; ka rapua anō ki tētahi atu wāhi tētahi mahi kāore e taea te oti, he haumaru tēnei i te mea he ōrite te mahi o ia mahi. Ka tuku te kaiwhakarite i te ārahi i tōna tākiri nō muri.

I tētahi pūrere, ka whakakapia e te Compose ia ipupā i te kōtahi ā-wāhanga, nō reira he wā poto te wehenga ia ratonga. Kia kore wehenga katoa, whakatū te wāhanga ipurangi hei ipupā e rua i muri i tō ake proxy (tētahi kōnae whakakapi e tāpiritia ana tētahi ratonga web tuarua me te poro kua tuku), ā, hanga anō rātou i te kōtahi ā-wāhanga, e tatari ana i ia tētahi e rongo ana te hauora i mua i te tahi.

Ētahi atu pūrere rānei tētahi kaiwhakahaere

Whakamahia te tātari kotahi: whakawhiti kotahi mai i tētahi mahi motuhake, kātia ka āwehia te wāhanga ipurangi me te tuku kotahi me te kore tuku, kātia ngā kai mahi. Tūhono ngā tiro ora ki te /readyz me ngā tiro ora ki te /healthz.

Me ngā pūtaka wāhanga motuhake, ka mahi te kaupapa migrate i ē rua: ka whakawhiti ia tuatahi i te pūtaka whakahaere, kātia ia pūtaka katoa e tuhia ana i te ops.tenant_database, i te kōtahi ā-wāhanga, ia tētahi i raro i tōna ake tāti. Kāore e tū te hapa i tētahi pūtaka wāhanga i te wehenga i ē atu. I te wā kua oti ia pūtaka, ka tātaritia rātou ngā pukapuka whakawhiti, ā, ka wehea me te uara kore mēnā kāore kua whakamahia e ia pūtaka katoa i tētahi tika ngā whakawhiti kua whakamahia e te pūtaka whakahaere, me te tohu ia tētahi e opo ana rānei e tōkeke ana. Ka whakaturia e te tahi whakahau te rārangi tatari i ia pūtaka, i te mea ka tangohia te kai mahi ngā mahi o tētahi wāhanga pūmau i te wāhi i tuhia ai rātou.

bun apps/worker/src/migrate.ts   # what the Compose step runs
bun run db:migrate:all                            # the same, from a checkout

Ka tae ia pūtaka motuhake ma te ingoa i rēhitatia ana. Ka hiahiatia tētahi pūtaka e rēhitatia ana ma te env:QUIRE_DB_NORTHWIND_URL:

Tūhu Te mahi
QUIRE_DB_NORTHWIND_URL Te tūwāhi taupānga, mō te wāhanga ipurangi me te kai mahi
QUIRE_DB_NORTHWIND_URL_MIGRATOR Te tūwāhi whakawhiti, mō tēnei whakahau me ngā nekehanga
QUIRE_DB_NORTHWIND_URL_SUPERUSER Kōwhiria: ka whakamahia anō te whakatīmata (ngā tūwāhi, ngā kupunga, ngā āwhina) i mua i te whakawhiti

Ka whakaatuhia hei hapa tētahi pūtaka motuhake kāore hono _MIGRATOR, ehara i te kore tātari. Ka āea te wāhanga ipurangi te āwehanga i te wā kua oti te pūtaka whakahaere. Ka whakamōhiotia tētahi pūtaka wāhanga e opo ana i te haora; ka karanga tētahi pūtaka i te rā kotahi.

pgvector

Mai i te whakawhiti 0264 ka whakamahia te kohinga whakatakoto te tohu whakarārangi pgvector HNSW i te wā e ārahi ana te tūmau i te whakamāhinga; ka hangaina te ratonga postgres o te Compose me a ia (docker/postgres.Dockerfile). Ka hangaia e te tuatahi migrate i muri i te hurihuri whakaahua te whakamāhinga ma te whakatīmata kaiwhakamahi matua, ā, ka tāpiritia e te 0264 i muri tētahi pou vekitorea e hangaia ana, ā, ka hangaia te tohu whakarārangi. Ka tātari te tāpiritanga i te pou ka tuhi anō i te app.ai_chunk kotahi wā i raro i tētahi tāti motuhake, nō reira ka tatari ngā tono whakatakoto i a ia; kāore tētahi atu e pā ki tērā pūrataka.

I tētahi tūmau kāore he pgvector, ka tuhi te 0264 tētahi pānui, ā, kāore e huri ia i tētahi mea, ā, ka noho tika te rapu. Mēnā he pgvector tawhito ake i te 0.8 ka hangaia te pou me te tohu, engari ka noho tika te rapu tae noa ki te whakahou i te whakamāhinga (alter extension vector update), i te mea ka hiahiatia ngā tiro ā-tukutahi o te HNSW mai i te 0.8. Kia whakawāhia ia i muri i tētahi tūmau kāore ia, whakaturia te whakamāhinga, whakatematema anō te whakatīmata (rānei te create extension vector ma te kaiwhakamahi matua), kātia ma te quire_migrator:

set maintenance_work_mem = '1GB';  -- the HNSW build is much faster in memory
select ops.ai_chunk_enable_vector_index();

He ōrite ia mahi, ā, ka whakahoki i te enabled rānei te unavailable. Whakatematema ia hoki i ia pūtaka wāhanga motuhake.

Te whakahoki

Ka āea i ngā wā katoa te whakahoki i te waehere: tautuhia te QUIRE_RELEASE ki te tohu i mua, ā, ka tīmata anō te up -d. Ka mahi tēnei i te mea he whakarite te kupunga i ē rārangi e rua i roto i tētahi whakaputanga.

Kāore e tukuna te whakahoki i te kupunga. Te mea kāore e taea te whakakore, me te āhua whakaora:

Kāore e taea te whakakore Te whakaora
Tētahi whakawhiti whakaiti kua tangohia pou Whakahoki ki te wā tūturu ki mua i te tangohanga ki tētahi pūtaka hou, tangohia, tāhono atua
Tētahi huringa raraunga i te wāhi Te tahi, kātia whakatauranga ngā tuhi kua tae mai i muri i tērā
Ngā webhook me ngā take kua tukua Ngā take whakatikanga, ehara i te mukua i ngā wā katoa
Ngā īmēra kua tukua Ka tuhi tētahi tangata te mahi nō muri
Te hono wehenga arotake Kāore i ngā wā katoa te tuhi anō; tāiritia tētahi tuhipoka whakatika

Ko tēnei te aronga ka tukua motuhake te whakawhiti whakaiti: ka noho tētahi rohe mārama mō te whakahoki i muri i tērā.

Te tātari i te whakahou

docker compose -f docker/compose.yaml ps           # every service healthy
curl -fsS http://localhost:8080/readyz             # ready, and what is configured
docker compose -f docker/compose.yaml logs migrate # the migrations applied
Tahua

Tuhia ki te rapu…

↑↓ neke↵ kōwhiriEsc katia