Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Renan

Foreign Key em migration

Recommended Posts

alguém sabe como faz foreign key nas migrations?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lucas.

 

Sou novo por aqui, mas não sou tão novo assim em Ruby on Rails.

Vou tentar esclarecer sua dúvida.

 

Você pode referenciar outra tabela nas migrações utilizando os atalhos references ou belongs_to dessa maneira (eu prefiro references por me proporcionar melhor leitura do código, mas vai do gosto do freguês):

 

create_table tabelafilho do |t|
  t.references :tabelapai
end

Dessa maneira é criada uma coluna do tipo integer chamada "tabelapai_id".

 

Após criar sua tabela com foreign key, não se esqueça de adicionar os filtros necessários nos modelos (has_many, belongs_to, etc.). Existem diversas opções para esses filtros que permitem diversos tipos de associações, então eu recomendo que você dê uma olhada na documentação oficial (http://api.rubyonrails.org).

 

E isso funciona também nos geradores que possivelmente criem uma migration, utilizando references como se fosse um tipo de coluna dessa maneira:

 

ruby script/generate model ModeloFilho modelopai:references coluna1:string coluna2:integer

Agora para você desenvolver um pouco do seu conhecimento, observe se foi criada uma foreign key "de verdade" no banco de dados, ou se essa validação pertence exclusivamente às classes herdadas de ActiveRecord::Base (os modelos). Tente descobrir o motivo.

 

Espero ter ajudado.

Uma braço e até a próxima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado pela sua resposta,

 

vou realizar os testes aqui.

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.