Knex: تم إنشاء UUID و MD5

تم إنشاؤها على ١٢ يونيو ٢٠١٦  ·  5تعليقات  ·  مصدر: knex/knex

كيفية إنشاء uuid جديد أو md5 عشوائي لحفظه في postgresql ، على سبيل المثال:

screen shot 2016-06-12 at 5 10 36 pm

لكن "knex.raw ('uuid_generate_v4 ()') 'لا يعمل ، أتساءل كيف يمكنني إنشاء تجزئة عشوائية وحفظها تلقائيًا عند إنشاء سجل جديد؟

ويبدو أيضًا أن uuid-v4 لا يمكنه إنشاء عشوائي بسبب الترحيل الثابت وغير المتغير لكل طلب.

screen shot 2016-06-12 at 5 23 16 pm

آسف أنا أدرس العقدة بسبب امتلاكها ومساعدتي الوحيدة هي google و github ، أشكركم على مساعدتكم.

التعليق الأكثر فائدة

تحتاج إلى التأكد من توفر الامتداد:

knex.raw('create extension if not exists "uuid-ossp"')

ثم يمكنك أن تفعل

table.string('hash').defaultTo(knex.raw('uuid_generate_v4()'))

لا تنس الهجرة down :

knex.raw('drop extension if exists "uuid-ossp"')

تحرير: يمكنك استخدام نوع uuid بدلاً من سلسلة عند استخدام pg ، على سبيل المثال:

await knex.schema.createTable('Users', t => {
  t.uuid('id').defaultTo(knex.raw('uuid_generate_v4()'))
  // ...
})

ال 5 كومينتر

ما هو السبب لماذا

لكن "knex.raw ('uuid_generate_v4 ()') '

لا يعمل؟ هل يعمل ذلك مع postgrsql عند محاولة استخدامه مع sql wirhout knex العادي؟

حاول أيضًا تشغيل الكود الخاص بك باستخدام DEBUG = knex: * مجموعة متغير evironment للحصول على مزيد من المعلومات حول ما يحدث مع استفساراتك.

anzileiro ، يجب ألا تستخدم حزمة uuis-v4 في عمليات الترحيل ، ولكن في نماذجك ، على سبيل المثال ، قبل حفظ نموذج جديد ، قم بتعيين الخاصية hash إلى قيمة uuid() و ثم احفظه

تحتاج إلى التأكد من توفر الامتداد:

knex.raw('create extension if not exists "uuid-ossp"')

ثم يمكنك أن تفعل

table.string('hash').defaultTo(knex.raw('uuid_generate_v4()'))

لا تنس الهجرة down :

knex.raw('drop extension if exists "uuid-ossp"')

تحرير: يمكنك استخدام نوع uuid بدلاً من سلسلة عند استخدام pg ، على سبيل المثال:

await knex.schema.createTable('Users', t => {
  t.uuid('id').defaultTo(knex.raw('uuid_generate_v4()'))
  // ...
})

شكرا @ fl0w ، أغلقت القضية ☺️

شكرا يا شباب!

👍

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

arconus picture arconus  ·  3تعليقات

aj0strow picture aj0strow  ·  3تعليقات

nklhrstv picture nklhrstv  ·  3تعليقات

legomind picture legomind  ·  3تعليقات

mattgrande picture mattgrande  ·  3تعليقات