Diego Roriz - diegororiz - Rails, Tecnologia e Desenvolvimento
Dica Rápida – Adicionar novos campos em tabelas
Dica Rápida – Adicionar novos campos em tabelas
Primeiro post de 2010! Após um pequeno recesso no final do ano, estamos de volta com tudo! Neste post, iremos abordar um problema muito comum entre os desenvolvedores: ter que adicionar ou remover campos na tabela depois de criada a migrate inicial de forma fácil!
Mas como fazer isso de forma fácil?! O Rails oferece dois recursos que nos permitem adicionar ou remover campos de uma tabela através de uma sintaxe pré-definida (padrão Convention Over Configuration), como pode ser observado a seguir:
AddXXXtoYYY
RemoveXXXtoYYY
Neste caso, o parâmetro XXX indica um nome de algo que você deseje adicionar/remover mas que não precisa necessariamente refletir o nome de todos os campos. E o parâmetro YYY indica o nome da tabela que deve ser alterada. Para descrever os campos a serem adicionados, basta informar o nome e o tipo dele após a declaração da migrate. A sintaxe para declaração de campos em migrates permanece a mesma – nome_campo:tipo_campo. Para contextualizar, vejam o exemplo:
ruby script/generate migration AddFieldsToPessoas sobrenome:string profissao:string
O comando descrito acima vai gerar o seguinte código:
1 2 3 4 5 6 7 8 9 10 11 | class AddFieldsToPessoas < ActiveRecord::Migration def self.up add_column :pessoas, :sobrenome, :string add_column :pessoas, :profissao, :string end def self.down remove_column :pessoas, :profissao remove_column :pessoas, :sobrenome end end |
Se quisermos remover campos de uma determinada tabela, basta trocar o prefixo Add por Remove. Vale a pena lembrar que estas alterações refletem apenas no banco de dados. Ou seja, se você adicionar ou remover campos de uma tabela, irá precisar alterar suas views para que a alteração do banco possa refletir na sua aplicação!
Gostou?! Esta dica facilitou seu trabalho? Então indique para os amigos!
Diego Roriz
Leia também:


Muito boa a dica Diego, parabéns !!!
Otimo Dica , obrigado