04/01/2010 1 Comentário

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



Você também pode gostar de:

  1. Dica rápida – Como destruir registros em massa utilizando Rails?
  2. [Dica Rápida] O que são FEEDS?
  3. Dica rápida – Listar apenas emails não lidos no Gmail
  4. Internacionalização em Rails – I18n
  5. Dica Rápida – Firefox – Modo Privado de Navegação

Uma Resposta para “Dica Rápida – Adicionar novos campos em tabelas”

  1. Wendell 23/06/2010 em 17:03 #

    Muito boa a dica Diego, parabéns !!!


Deixe uma Resposta

Get Adobe Flash playerPlugin by wpburn.com wordpress themes