activerecord_symbolize a solução para o seus problemas

Posted on August 19, 2008, under Desenvolvimento, Ruby/Rails.

Um dos erros que cometi quando comecei a desenvolvimento da loja foi usar o tipo enum do banco de dados mysql em algumas tabelas. O erro foi agravado pelo uso do plugin enum-column que adicionar suporte a esse tipo de coluna no ActiveRecord.

O problema se concentra no fato de que o tipo enum não é suportado por todos os bancos de dados, o que impede a migração da aplicação para outro tipos de banco que não sejam mysql. O plugin agrava o problema, não por si só, mas pela falta de atualização.

A partir do Rails 2.0 temos as sexy migration, por isso na criação de uma tabela usamos:

Com isso já se obtém dois campos radios para escolha do gênero e um select para escolha do SO, sendo que suas opções são puxadas diretamente da definição do symbolize.

Para mais informações: activerecord_symbolize

2 Replies to "activerecord_symbolize a solução para o seus problemas"

gravatar

Walter Cruz  on August 20, 2008

Apenas uma nota: na versão 8.3 o PostgreSQL ganhou suporte a ENUMS, de uma forma muito interessante. Vale uma olhada em http://www.postgresql.org/docs/current/static/functions-enum.html !

Mas de fato pela compatibilidade com os bancos de dados, se afastar do enum é uma boa :D

gravatar

rafael  on August 20, 2008

Parece bem interessante, além de ser portável. Vou dar uma olhada. Até mais!

Leave a Comment