Pergunta

Estou desenvolvendo um aplicativo com Ruby on Rails que eu quero manter por pelo menos alguns anos, por isso estou preocupado com a próxima versão chegando em breve.

Indo de Rails 1 a Rails 2 era uma grande dor de tal forma que eu não me incomodei e congelou meus gemas e deixar morrer a aplicação, sozinho, no escuro.

Nesta projeto que eu não quero fazer isso. Primeiro porque esta nova versão parece incrível , mas também porque esta aplicação pode se transformar em um produto real.

  • Como posso preparar o meu aplicativo para que ele será atualizável com tão poucas mudanças quanto possível.

  • Como demorado que você acha comutação versão será?

  • E o meu servidor? Implantação?

Eu já estou olhando para avisos de descontinuação ... o que mais posso fazer?

Foi útil?

Solução

A melhor coisa que poderia fazer seria seguir o desenvolvimento do Rails 3 via blogs e o repositório Github e manter uma cópia de seu aplicativo junto com ele.

O funcionário Ruby on Rails blogue é atualizado com "o que há de novo na borda" postos de vez em quando . Há outra blogs , que muitas vezes escrever sobre coisas novas na borda bem. características maiores são muitas vezes em destaque na esses blogs, então você sabe sobre todas as frias novos recursos que você pode jogar com.

Eu não tenho certeza o quão perto Rails 3 é liberar (última vez que ouvi a equipe principal estava falando sobre um lançamento na RailsConf 2009 em maio), mas você sempre pode congelar a versão beira de Rails em sua aplicação e apenas ver o que breaks. Se você estiver usando git ou outro DVCS, você pode fazer uma filial especificamente para Rails 3 e atualizar periodicamente Rails com o último código de borda. Esteja ciente de que Edge Rails é um alvo em movimento assim que as coisas na sua aplicação podem quebrar ou fixar-se como você está puxando na mais recente código Rails.

Update: Jeremy McAnally tem uma tonelada de informações sobre a atualização do Rails 2 para Rails 3 em seu blog. http://omgbloglol.com/

Outras dicas

Eu não acho que vai ser um grande problema. Indo fora o que foi dito no relatório inicial a equipe Rails percebeu que eles não podem fazer uma grande reescrita como eles fizeram de 1 para 2.

Eles ainda dizem:

Eu tenho certeza que haverá algumas partes do Rails 3 que são incompatíveis, mas vamos tentar mantê-los ao mínimo e torná-la realmente fácil para converter a aplicação de Rails 2.x para Rails 3.

Eu estaria mais preocupado indo de Merb para o Rails 3.

A única coisa mais importante que você pode fazer para tornar mais fácil migrar para uma nova versão do rails é ter um conjunto de testes abrangentes. Sem um conjunto bom teste, eu nunca teria a confiança de que a nova versão do rails não quebrou algo em meu aplicativo. Nos trilhos atuais app que eu estou trabalhando, começamos on Rails 2.1.1 em outubro de 2008. Desde então, temos migrou para Rails 2.1.2, 2.2.2, 2.3.2, 2.3.3 e agora 2.3.4. Eu fiz as migrações para 2.3.2, 2.3.3 e 2.3.4 ... e para os 2.3.2 e 2.3.3 upgrades, tivemos alguns testes na sua falta nos alertou para problemas que não teria descoberto sem ter tal bom conjunto de testes. Os testes falhando realmente nos alertou para um bug regressiva em trilhos que havia um patch para nos Trilhos farol, mas que não foi incluído na liberação (desde que foi descoberto, logo após o lançamento).

Uma vez que você tem que conjunto de testes no local, apenas manter-se atualizado com os trilhos de libertação (esperando algumas semanas para atualizar é bom, só não pule nenhuma das versões).

Yehuda Katz (um membro da equipe principal Rails) declarou que há provavelmente será uma versão de transição, contendo avisos deprecation e tal.

Então, enquanto você tem um conjunto bom teste para expor os problemas de atualização inevitáveis, e atual estadia com o lançamento Rails, a migração para o Rails 3 não deve ser muito difícil.

Tão simples como:

Grandes screencasts de Ryan Bates.

Para preparar a sua aplicação, a melhor maneira que o que Jared disse. Acompanhar o desenvolvimento Rails3.

Para o demorado, eu acho que depende de como você seguiu o desenvolvimento rails3 antes do lançamento.

E para a implantação, ele não deve ter problemas demais. Trilhos 3 será usando cremalheira. Assim, você pode iniciá-lo com vira-lata, passageiro ou qualquer servidor / gateway, ele não deve dar-lhe qualquer problema.

Há algumas grandes mudanças no Rails 3, eu postei sobre a minha experiência de atualizar meu aplicativo para Rails 3 aqui: http://rails3.community-tracker.com/permalinks/5/notes-from-the-field-upgrading-to-rails-3

Um bom começo na preparação seria migrar para usando bundler. E fazer uma profunda revisão das cordas que vão através do novo esquema de proteção de XSS.

Não vão haver algumas damas de compatibilidade automatizadas. Além disso, manter um olho sobre http://www.railsplugins.org/ para que você saiba se as bibliotecas você depende vão ser atualizado. A equipe Rails Núcleo parece estar dando muita antecedência para a comunidade, desta vez, de modo que qualquer lib que é mantido ativamente deve ser bom para ir.

Basta fazer uma coisa

fazer um backup do seu projeto versão antiga primeiro e depois

no terminal (prompt de comando) write

rails new path/of/the/project

Por exemplo, se o meu 2.3. * Projeto está em home/rails_projects/myproject então

rails new home/rails_projects/myproject

ou

cd home/rails_projects
rails new myproject

Ele vai perguntar se há quaisquer modificações feitas em qualquer /config ou outros arquivos. Faça apropriada.

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