cara generate uuid atau md5 baru secara random untuk disimpan di postgresql, contoh :
Tetapi 'knex.raw('uuid_generate_v4()')' tidak berfungsi, saya bertanya-tanya bagaimana saya bisa menghasilkan hash acak dan menyimpan otomatis saat membuat catatan baru?
dan juga tampaknya uuid-v4 tidak dapat menghasilkan secara acak karena migrasi yang statis dan tidak berubah untuk setiap permintaan.
Maaf saya sedang mempelajari node karena sendiri dan satu-satunya bantuan saya adalah google dan github, saya berterima kasih atas bantuan Anda.
Apa alasannya?
Tapi 'knex.raw('uuid_generate_v4()')'
Tidak bekerja? Apakah itu berfungsi dengan postgrsql ketika Anda mencoba menggunakannya dengan sql wirhout knex biasa?
Coba juga jalankan kode Anda dengan DEBUG= knex:* variabel lingkungan disetel untuk mendapatkan info lebih lanjut tentang apa yang terjadi dengan kueri Anda.
@anzileiro , Anda tidak boleh menggunakan paket uuis-v4
dalam migrasi, tetapi dalam model Anda, misalnya sebelum menyimpan model baru, setel propertinya hash
ke nilai uuid()
dan lalu simpan
Anda perlu memastikan ekstensi tersedia:
knex.raw('create extension if not exists "uuid-ossp"')
maka Anda bisa melakukannya
table.string('hash').defaultTo(knex.raw('uuid_generate_v4()'))
jangan lupa migrasi down
:
knex.raw('drop extension if exists "uuid-ossp"')
Sunting: Anda dapat menggunakan tipe uuid alih-alih string saat menggunakan pg, misalnya:
await knex.schema.createTable('Users', t => {
t.uuid('id').defaultTo(knex.raw('uuid_generate_v4()'))
// ...
})
Terima kasih @fl0w , kasus ditutup ️
Terima kasih teman-teman!
👍
Komentar yang paling membantu
Anda perlu memastikan ekstensi tersedia:
maka Anda bisa melakukannya
jangan lupa migrasi
down
:Sunting: Anda dapat menggunakan tipe uuid alih-alih string saat menggunakan pg, misalnya: