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, i waena o 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 (laʻana: 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. E kākau i nā waiwai UUID i nā kolamu hou
    (me nā kī mua e piʻi aʻe ana a me nā kī haole i hōʻano hou ʻia)
  3. Holoi i nā kolamu kumu
  4. E hoʻololi i ka inoa o 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 PostgreSQL No ka hana ʻana i kēia, hiki iā ʻoe (ma hope o kahi kope mua, ʻoiaʻiʻo) e hoʻokō i ka nīnau ma lalo nei, no ka laʻana (ma mua hiki iā ʻoe ke papa inoa i nā papa āpau āu e makemake ai e kāpae ma Z). 19/31 e hoʻololi a me kāu mau 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ā hoʻokō ʻoe i nā nīnau i hana ʻia i kēia manawa, ua neʻe ʻoe i ka waihona i loko o ka manawa pōkole. ʻO nā UUID i hana ʻia ma kēia ʻano ʻaʻole i hoʻokō i ka v4 kikoʻī, akā ua like lākou i ka lexicographically i ka hoʻonohonoho like me nā mea i hoʻokomo mua ʻia, ʻaʻole e hui pū me nā UUID hou (aia mau kekahi ma ka hui 3 i v4. 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ā, ua ʻōlelo ʻia e ʻimi i nā cache Laravel āpau (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