Aqui está uma solução baseada em gem que inclui suporte para adicionar e remover restrições de chave estrangeira, não falha com sqlite e funciona corretamente com arquivos schema.rb: http://github.com/matthuhiggins/foreigner