36chr UUID को बाइनरी(16) के रूप में संग्रहीत करने के इस विचार के बारे में कैसे:
आईएमओ एक लारवेल के यूयूआईडी जनरेट न करने का एक फायदा है . अर्थात्, यदि नए रिकॉर्ड (भविष्य में किसी दिन) एप्लिकेशन के बाहर से डेटाबेस में सम्मिलित हो जाते हैं तो UUID फ़ील्ड ठीक से भर जाता है।
मेरा सुझाव:माइग्रेशन का उपयोग करके UUID डिफ़ॉल्ट मान ट्रिगर बनाएं
(यह ट्रिगर डाटाबेस सर्वर को हर बार एक नया ग्राहक डालने पर यूयूआईडी उत्पन्न करने का काम करता है)
<?php namespace MegaBank\HighInterestLoans\Updates;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class MigrationTriggerForCustomers extends Migration
{
public function up()
{
DB::unprepared('CREATE TRIGGER before_insert_customers
BEFORE INSERT ON
`megabank_highinterestloans_customers`
FOR EACH ROW
SET new.uuid = UNHEX(REPLACE(UUID(), "-","");');
}
public function down()
{
DB::unprepared('DROP TRIGGER `before_insert_customers`');
}
}
अंत में, यदि आप अपने यूयूआईडी का मानव-पठनीय संस्करण प्राप्त करना चाहते हैं तो बस निम्न कार्य करें:
SELECT HEX(UUID) FROM customers;
वैसे भी, उम्मीद है कि यह किसी की मदद करता है :-)