Ama-UUIDs (Izihlanganisi ze- ID eziyingqayizivele) zingamanani angu-128-bit asetshenziswa kusizindalwazi, phakathi kwezinye izinto, ukuhlonza okufakiwe kwethebula ngokukhethekile. Amelwe njengeyunithi yezinhlamvu enehexadecimal ehlukaniswe ngamaqembu amahlanu ahlukaniswe ngamakhonco (Isibonelo: 09fe49b3-4d2b-471c-ac04-36c9e706b85f
). Nakhu amaningi Izingxoxo mayelana nezinzuzo kanye nokubi kwama-UUID kusizindalwazi - abalulekile ezinhlelweni ezisabalalisiwe.
Kumasevisi amancane kanye nezinhlelo zokusebenza ezihlala abantu abaningi, ngakho-ke kufanelekile ukucabangela ukwethula ama-UUID. Ukushintsha usuka ohlotsheni lwedatha i-BigInteger uye ku-UUID (okuhlukile okuhlelekayo kwe-UUID inguqulo 4 kusukela ekucacisweni kwe- RFC 4122 ) kuhlaka lwe-PHP I- Laravel yenziwa ngokushesha: Okokuqala, sakha isici esisha.:
2aa7136d977617159be1834eaf40e871
Bese sengeza wonke amamodeli ethu:
2aa7136d977617159be1834eaf40e871
Ku-Laravel 9⁺ lokhu kulula nakakhulu: lapha sesivele sinesici se- HasUuids esilungele ukusetshenziswa. Kungenjalo, uhlaka luphinde lunikeze ukwesekwa kokuhlobene, kodwa nokho uhlobo lwedatha olungaziwa ULID , olungathakazelisa ngenxa yokufundeka okungcono nokuhleleka.
Ingxenye enzima ukuthuthwa kwedatha ekhona. Cishe eyodwa ingaqhubeka kanje:
- Engeza amakholomu amasha e-UUID anamanani angenalutho kuwo wonke amathebula
(ngalinye lisekelwe kuwo wonke amakholomu okhiye abayinhloko nabangaphandle) - Bhala amanani e-UUID kumakholomu amasha
(ngokhiye abakhuphukayo abayinhloko kanye nokhiye bangaphandle ababuyekeziwe) - Susa amakholomu angempela
- Qamba kabusha amakholomu amasha
Kunezinselelo ezimbalwa lapha: Inqubo yokufuduka ithatha isikhathi eside futhi amakholomu amasha anezelwa ekupheleni kwethebula (isixazululo esingaba khona: amakholomu okuvakasha ). Indlela eqondile kakhulu ukuguqula amakholomu ngokuqondile.
Uma ubeka lokho I-PostgreSQL kokukodwa, ungakwazi (emva kokwenza isipele kwangaphambilini, kunjalo) uqalise umbuzo olandelayo, isibonelo (ngaphambi kwalokho ungasusa wonke amathebula ongawafaki ku-Z. 19
/31
buyisela, kanye nemithetho ekhethekile ku-Z. 37
/39
add) bese ukopisha yonke imibuzo ekhiqizwe kuyo:
2aa7136d977617159be1834eaf40e871
Uma manje nisebenzisa imibuzo ekhiqiziwe ndawonye, uthuthele isizindalwazi ngesikhathi esifushane. Nakuba ama-UUID akhiqizwa kanjalo engahambisani nokucaciswa kwe-v4, ngokwesichazamazwi alandelana ngendlela efanayo neyangaphambilini, awangqubuzani nama-UUID amasha (eqenjini lesi-3 ku-v4 kuhlala kukhona 4
, njalo eyodwa kokuhlukile okuthuthiwe 0
), okusho futhi ukuthi ama-UUID amasha ahlala emakhulu kunama-UUID athuthiwe.
Ngemuva kwalokho kunconywa ukususa wonke ama-cache we-Laravel (php artisan cache:clear && php artisan route:clear && php artisan config:clear && php artisan view:clear && composer dump-autoload && rm -rf bootstrap/cache/*/*
) kanye nezikhathi ezisebenzayo (rm -f storage/framework/sessions/*
) ukuthulula. Vele, yonke into ingenziwa futhi ngaphakathi kokufuduka kweLaravel:
2aa7136d977617159be1834eaf40e871
Ngemva kokuguqulwa umuntu usebenzisa ekufudukeni kwesikhathi esizayo esikhundleni salokho bigIncrements
noma. bigInteger
ke uuid
:
2aa7136d977617159be1834eaf40e871