Untuk melakukan migrasi primary key BigInt ke UUID, dapat dilakukan langkah-langkah sebagai berikut:
Buat kolom UUID baru di tabel yang akan di-migrate. Kolom UUID ini akan digunakan sebagai primary key baru setelah migrasi selesai.
Copy nilai dari kolom BigInt ke kolom UUID baru. Ini dapat dilakukan dengan menjalankan query SQL seperti berikut:
UPDATE nama_tabel SET kolom_uuid = kolom_bigint;
- Generate UUID untuk data yang belum memiliki nilai di kolom UUID. Ini dapat dilakukan dengan menjalankan query SQL seperti berikut:
UPDATE nama_tabel SET kolom_uuid = uuid_generate_v4() WHERE kolom_uuid IS NULL;
- Buat primary key baru dengan menggunakan kolom UUID. Ini dapat dilakukan dengan menjalankan query SQL seperti berikut:
ALTER TABLE nama_tabel ADD PRIMARY KEY (kolom_uuid);
- Hapus kolom BigInt yang tidak lagi digunakan sebagai primary key. Ini dapat dilakukan dengan menjalankan query SQL seperti berikut:
ALTER TABLE nama_tabel DROP COLUMN kolom_bigint;
Setelah melakukan langkah-langkah di atas, primary key BigInt akan berhasil di-migrate ke UUID. Namun, perlu diingat bahwa proses migrasi ini dapat membutuhkan waktu yang lama tergantung pada jumlah data yang ada di dalam tabel yang di-migrate. Jadi, sebaiknya lakukan proses migrasi ini saat aplikasi sedang tidak digunakan atau sedang dalam keadaan maintenance.