JavaFree.org | RubyOnBr.org

id não numérico/auto-inc

Acompanhar id não numérico/auto-inc 3 posts, 3 participantes

Avatar Neves 162 posts

Eu tenho uma tabela, que no meu caso seria melhor se o id dela fosse uma palavra, igual um permlink.
Num teste rápido parece que funcionou, mas gostaria de saber se posso ter mais problemas no futuro. Vamos pegar como exemplo uma tabela de estados:


ID | por_extenso
PR | Paraná
SP | São Paulo

Assim a rota REST para exibir os clientes de uma determinada cidade poderia ser assim:
/estados/PR/cidade/12/clientes

o campo estado_id na tabela cidades também não seria mais um inteiro e sim um varchar “PR” por exemplo.

Posso ter problemas com isto?

 
Avatar Daniel Libanori 199 posts

Isso é possível, mas você vai estar amarrando regra de negócio à sua chave primária, o que dentro do mundo Rails é evitado em qualquer model.

Eu utilizara o id normal, ou seja, com número e só mudaria o roteamento da action para ao invés de recever o ID como parâmetro, recebesse a sigla do estado.

 
Avatar Akita On Rails 298 posts

Mas se quiser muito sofrer com isso, aqui vai como: