Pengguna Laravel Wajib Tau!!! Menggunakan UUID di Laravel

0
21

Dalam pembuatan aplikasi kadang kita membutuhkan sesuai yang lebih dari sebuah id auto increment integer untuk sebuah primary key. Ada beberapa masalah yang mungkin akan kita temukan dengan penggunaan id auto increment integer tersebut. Solusinya kita bisa menggunakan UUID. Sebelum kita menggunakan UUID di Laravel ada baiknya kita ketahui masalah yang mungkin timbul dengan penggunaan id auto increment integer.

Masalah Scalability

Permasalahan berikutnya adalah ketika kita memiliki aplikasi yang sudah berjalan di beberapa server. Di kemudian hari ada permintaan untuk menggabungkan aplikasi ini ke dalam sebuah aplikasi dan sebuah database saja.

Timbullah permasalahan Primary Key yang konfik sampai bacok-bacokan karena memiliki id yang sama dan saling klaim. Intinya permasalahannya timbul karena data dari beberapa tempat dijadikan satu tapi id mereka sama.

Masalah lain bisa muncul ketika dalam aplikasi kita terjadi transaksi data yang sangat banyak dan cepat. Semisal dalam satu detik ada ribuan data baru yang masuk ke aplikasi kita, maka fungsi auto increment kurang efektif.

Menggunakan UUID Di Laravel

Setelah mengetahui permasalahan permasalahan tadi maka di sini kita akan coba implementasikan solusinya. Nggak tega saya kalo cuma kasih masalah tanpa solusi wkwk.

Solusi yang akan kita gunakan adalah dengan menggunakan UUID. Apa itu UUID? Jika kita baca di Wikipedia. Secara singkat UUID adalah sebuah string yang teridi dari 32 karakter. Dibuat secara acak dan kecil kemungkinan menghasilkan nilai yang sama.

Di Laravel tedapat helper Str untuk membuat UUIDv4. Tapi, UUID kan bukan primary key bawaan di Eloquent. Jadi kita harus mandiri dan menerapkannya sendiri. Di sini kita akan belajar bagaimana membuat UUID secara otomatis di Eloquent dengan bantuan helper Str.

Anggaplah kita memulai sebuah proyek baru. Kita akan mengubah ID dari tabel users menjadi sebuah UUID. Secara bawaan file migrationnya seperti ini.

File migration di atas akan membuat sebuah ID dengan auto increment big integer. Kemudian kita bisa mengubahnya menjadi seperti di bawah ini.

Setelah itu jalankan migrationnya. Setelah tabel dibuat sekarang kita harus menonaktifkan auto increment melalui model User.

Kemudian untuk membuat UUID secara otomatis ketika menambahkan data. Kita akan gunakan Model Event creating. Kemudian untuk membuat UUID kita gunakan helper Str. Kurang lebih seperti ini kodenya.

Sekian artikel tentang menggunakan UUID di Laravel. Semoga ada manfaat yang bisa diambil. Jika ingin dapat amalan baik dari manfaat tulisan ini. Bantu Sebarkan !.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.