AdonisJS — Alterar o padrão de Id de INT para GUID

Diego Sanches
Nov 4 · 2 min read
AdonisJS

Se você está aqui, acredito que seja um desenvolvedor com costume de utilizar GUIDs para seus ID’s internos. Obviamente, não é dito em algum lugar que GUID é mais vantajoso que INT, pois temos prós e contras em qualquer um.

Atualmente AdonisJS tem se tornado um Framework NodeJS bem interessante, e muitas plataformas utilizam-o para suas aplicações, já que é um Framework completo e bem versátil.

Esta dica de hoje é apenas para demonstrar a facilidade de alterar o ID padrão do AdonisJS, que atualmente é um INT auto incremental, se tornando um GUID, podendo ser controlado pela aplicação com maior facilidade.

Inicialmente, vamos para nossa pasta MIGRATIONS e vamos alterar como USER é criado. Primeiramente, o método UP deve ser alterado para ASYNC, pois vamos utilizar uma extensão em nosso banco.

Veja que na linha 8, criamos uma extensão para nossa base de dados utilizando UUID-OSSP para Postgres, esta extensão permite a geração automática de GUIDs (é apenas para evitar que dentro de Model, seja inserido um hook para criar o ID antes de salvar).

E na linha 11, onde começamos a brincadeira. Antes tinha-mos o método table.increments() e este método faz com que os ids sejam auto-incrementais, ao remover ele, pode-se sobrepor o método padrão e criar um ID do tipo UUID.

O método table.defaultTo() faz com que o valor padrão, seja gerado automaticamente, porém, ao criar um valor externamente, ele é “ignorado”.

Dentre as vantagens de GUID, a que mais gosto, é fazer a aplicação manipular o ID que será criado, sendo assim, pode-se criar uma hierarquia de filhos para um registro e salvar tudo de uma vez à base de dados.

Caso tenha alguma dúvida, serei feliz em auxiliar.

=)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade