comment générer un nouvel uuid ou md5 random pour sauvegarder sur postgresql, par exemple :
Mais le 'knex.raw('uuid_generate_v4()')' ne fonctionne pas, je me demande comment puis-je faire pour générer un hachage aléatoire et enregistrer automatiquement lors de la création d'un nouvel enregistrement ?
et il semble également que uuid-v4 ne puisse pas générer de random à cause de la migration qui est statique et inchangée pour chaque requête.
Désolé, j'étudie le nœud en raison de mon propre et ma seule aide est google et github, je vous remercie pour votre aide.
Quelle est la raison pour laquelle
Mais le 'knex.raw('uuid_generate_v4()')'
Ne fonctionne pas ? Cela fonctionne-t-il avec postgrsql lorsque vous essayez de l'utiliser avec sql simple sans knex?
Essayez également d'exécuter votre code avec DEBUG= knex:* ensemble de variables d'environnement pour obtenir plus d'informations sur ce qui se passe avec vos requêtes.
@anzileiro , vous ne devez pas utiliser le package uuis-v4
dans les migrations, mais dans vos modèles, par exemple avant d'enregistrer un nouveau modèle, définissez sa propriété hash
sur la valeur de uuid()
et puis enregistrez-le
Vous devez vous assurer que l'extension est disponible :
knex.raw('create extension if not exists "uuid-ossp"')
alors tu peux faire
table.string('hash').defaultTo(knex.raw('uuid_generate_v4()'))
n'oubliez pas la migration down
:
knex.raw('drop extension if exists "uuid-ossp"')
Edit : vous pouvez utiliser le type uuid au lieu de chaîne lors de l'utilisation de pg, par exemple :
await knex.schema.createTable('Users', t => {
t.uuid('id').defaultTo(knex.raw('uuid_generate_v4()'))
// ...
})
Merci @fl0w , affaire close ☺️
Merci les gars!
👍
Commentaire le plus utile
Vous devez vous assurer que l'extension est disponible :
alors tu peux faire
n'oubliez pas la migration
down
:Edit : vous pouvez utiliser le type uuid au lieu de chaîne lors de l'utilisation de pg, par exemple :