UUID i nā waihona

UUID (mea hoʻohui id Unique Universally) ​​he mau waiwai 128-bit i hoʻohana ʻia i loko o nā waihona, a me nā mea ʻē aʻe, e ʻike kūʻokoʻa i nā hoʻokomo papa. Hōʻike ʻia lākou e like me ke kaula hexadecimal i māhele ʻia i ʻelima mau pūʻulu i hoʻokaʻawale ʻia e nā hyphens (Example: 09fe49b3-4d2b-471c-ac04-36c9e706b85f). Aia lehulehu Nā kūkākūkā e pili ana i nā pono a me nā pōʻino o nā UUID i nā ʻikepili - pono lākou i nā ʻōnaehana puʻupuʻu.


I nā microservices a me nā noi multi-tenancy, no laila pono e noʻonoʻo e hoʻokomo i nā UUID. Ke hoʻololi ʻana mai ka ʻano ʻikepili BigInteger a i ka UUID (kahi ʻano like ʻole o ka UUID version 4 mai ka kikoʻī RFC 4122 ) i ka PHP framework Ua hana wikiwiki ʻo Laravel : ʻO ka mua, hana mākou i kahi ʻano hou.:

2aa7136d977617159be1834eaf40e871

A laila hoʻohui mākou i kā mākou mau hiʻohiʻona a pau:

2aa7136d977617159be1834eaf40e871

Ma Laravel 9⁺ ʻoi aku ka maʻalahi o kēia: eia ua loaʻa iā mākou ka ʻano HasUuids i mākaukau e hoʻohana. ʻO kahi ʻē aʻe, hāʻawi ka framework i ke kākoʻo no ka pili, akā ʻike ʻole ʻia ka ʻano ʻikepili ULID , hiki ke hoihoi ma muli o ka heluhelu maikaʻi ʻana a me ka hoʻonohonoho ʻana.

ʻO ka ʻāpana paʻakikī ka neʻe ʻana o ka ʻikepili i loaʻa. Hiki i kekahi ke hana penei:

  1. Hoʻohui i nā kolamu UUID hou me nā waiwai ʻole i nā papa āpau
    (hoʻokumu ʻia kēlā me kēia ma nā kolamu kī mua a me nā kolamu kī haole)
  2. Kākau i nā waiwai UUID i nā kolamu hou
    (me nā kī kumu piʻi a me nā kī haole hou)
  3. Holoi i nā kolamu kumu
  4. E inoa hou i nā kolamu hou

Nui nā pilikia ma ʻaneʻi: He lōʻihi ka manawa o ka neʻe ʻana a ua hoʻopili ʻia nā kolamu hou i ka hope o ka papaʻaina (hiki i ka hopena: nā kolamu resort ). ʻO kahi ala pololei ʻoi aku ka hoʻololi pololei ʻana i nā kolamu.

Inā ʻoe e kau i kēlā PostgreSQL hoʻokahi, hiki iā ʻoe (ma hope o kahi hoʻihoʻi mua, ʻoiaʻiʻo hoʻi) e holo i ka nīnau aʻe, no ka laʻana (ma mua o hiki iā ʻoe ke holoi i nā papa āpau āu e haʻalele ai ma Z. 19/31 pani, a me nā lula kūikawā ma Z. 37/39 hoʻohui) a kope i nā nīnau a pau i hana ʻia mai ia mea:

2aa7136d977617159be1834eaf40e871

Inā holo pū ʻoe i nā nīnau i hana ʻia, ua neʻe ʻoe i ka waihona i loko o ka manawa pōkole. ʻOiai ʻaʻole kūlike nā UUID i ka v4 kikoʻī, ua like lākou i ka lexigraphically e like me nā mea i hoʻokomo mua ʻia, ʻaʻole e hui pū me nā UUID hou (ma ka hui 3 ma v4 aia mau kahi 4, hoʻokahi mau i ka ʻano hoʻoneʻe 0), ʻo ia hoʻi, ʻoi aku ka nui o nā UUID hou ma mua o nā UUID i neʻe ʻia.

Ma hope o kēlā, ʻōlelo ʻia e holoi i nā cache Laravel (php artisan cache:clear && php artisan route:clear && php artisan config:clear && php artisan view:clear && composer dump-autoload && rm -rf bootstrap/cache/*/*) a me nā kau holo (rm -f storage/framework/sessions/*) e haʻalele. ʻOiaʻiʻo, hiki ke hoʻokō ʻia ka mea āpau i loko o kahi neʻe Laravel:

2aa7136d977617159be1834eaf40e871

Ma hope o ka hoʻololi ʻana, hoʻohana kekahi i nā neʻe e hiki mai ana bigIncrements a i ʻole. bigInteger alaila uuid:

2aa7136d977617159be1834eaf40e871

Hope