Pergunta

Ao ler sobre e jogando com Rails no ano passado, uma das ferramentas que fizeram a maior impressão sobre mim foi Rake. Um sistema de controle de versão de banco de dados que mantém direito integrada idêntica tudo de db dev na construção ... algo como isso iria tornar a vida muito mais fácil (e mais seguro)!

No entanto, uma das coisas que eu não tenho sido capaz de descobrir: Como você mover essas alterações para seus servidores de produção quando você realmente não tem acesso aos servidores de produção? Temos vários servidores em todo o país que onde o aplicativo está instalado / atualizado por um pacote de configuração.

Nota: Esta questão é mais sobre a estratégia de tecnologias Rails / Rake específicos. Nós não usamos trilhos, usamos .Net. Mas se eu posso descobrir isso publicar cenário, parece haver várias ferramentas Migratordotnet sendo um que pode nos permitir fazer algo semelhante.

Foi útil?

Solução

Como você provavelmente sabe, o Rails forma padrão de executar migrações na produção é Capistrano . Tem um Distribuir:. Tarefa migrações que executa as migrações em servidores remotos usando ssh

Você pode ser capaz de se adaptar Capistrano para fazer o que quiser. É essencialmente uma maneira flexível para executar comandos em grupos de servidores remotos. Você precisa ter o Ruby instalado na máquina que você está implantando , a fim de usá-lo, mas não sobre as máquinas que você estiver implantando para .

Sua melhor opção pode ser a escrever um personalizado tarefa Capistrano para carregar o setup.exe, executá-lo, em seguida, executar as migrações (talvez usando Migrator.NET).

Outras dicas

Você pode ser capaz de usar algo como SQL Red Gate Compare a scripts diff esquema produtos que permitiria que você para automatizar o processo de atualização do banco de dados. Eu usei a ferramenta manualmente para fazer tais mudanças e poderia facilmente ver criação de um programa que seria executado essas atualizações como parte do processo de atualização. Se eu estivesse indo para automatizá-lo, porém, eu desenhar em algo que me permitiria verificar qual a versão do esquema estava no lugar e executar os scripts necessários na ordem correta para trazê-lo até a versão desejada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top