rake db: schema: despejo não fornece dados informações de migração - há uma maneira automatizada para conseguir isso?

votos
3
rake db:schema:dump

Este comando dá-lhe o esquema de um banco de dados legado e você pode construir uma migração desse banco de dados fora do esquema gerado.

Mas se esse banco de dados tinha dados nele, seria bom se houvesse um comando rake para recuperar os dados em um arquivo de migração gerada pelo Rails.

Talvez eu estou sonhando - que provavelmente é pedir demais para pensar que Rails pode olhar para os dados no banco de dados legado e construir uma migração para você a partir dos dados existentes - algo como isto:

class LoadDefaultData < ActiveRecord::Migration
  def self.up
    bopeep = User.find_by_username 'bopeep'
    BlogPost.create(:title => 'test', :content => 'test', :author_id => bopeep.id, :status => 'ok')
  end

  def self.down
  end
end

Ou há uma maneira?

Publicado 19/05/2009 em 19:58
fonte usuário
Em outras línguas...                            


1 respostas

votos
5

Tobias Lütke necessários para migrar um banco de dados a partir de uma arquitetura para outro, mas necessário para copiar os dados através intacta. Para garantir que o formato seria arquitetura agnóstico, ele criou um plugin que despeja os dados para YAML e depois recarrega-lo de volta para o banco de dados na outra extremidade. É uma tarefa rake simples, e Tobi dá instruções rápidas e fáceis.

http://blog.leetsoft.com/2006/5/29/easy-migration-between-databases

Isso pode ajudar.

Você também pode gostar de olhar para YamlDB plug-in http://opensource.heroku.com/ que pode fazer backup de um tipo db e restaurar para outra. Aqui estão algumas instruções

Respondeu 19/05/2009 em 20:07
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more