[:koshtech] [:blog]

foto
 Vão portar o quê?

 rbDB, a alternativa em Ruby on Rails ao phpMyAdmin foi feita no Rails Rumble 2008 http://railsrumble.com/ como aplicação do redox. Apesar de estar parado há 3 anos e utilizar Rails 2.1.1, funciona, mesmo tendo bugs e lhe faltando muitos recursos. Seu site oficial está fora do ar pelo menos há 4 meses mas o screencast no Vimeo mostra bem a ideia geral da ferramenta.

 O que nos motivou a usar o rbDB, foi que eu não queria ter que instalar PHP em um servidor de Apps Ruby somente para ter o phpMyAdmin rodando. Ele e uma otima ferramenta, mas eu queria algo em Ruby. Esta foi a mesma motivação do Redox: Uma ferramenta online em Ruby para gerênciar o MySQL.

 Buscando no Github por alternativas, encontrei o rdDB. O projeto estava muito desatualizado, nem tinha Gemfile e colocá-lo rodando foi um trabalho de tentativa e erro. Graças ao RVM, estamos usando-o há 9 meses, convivendo com seus bugs e limitações. Mas a app que atende o básico do básico vale a pena.

 Desde sua instalação em nosso servidor sonhávamos em atualizar seu código para Rails 3, mas sabíamos que isto só aconteceria num ForkInRails.

 Enfim o ForkInRails.
  Em todos os encontros os bate-papo são sempre muito construtivos e engraçados. Neste, tivemos a presença do Reynaldo, quem iniciou falando dos perfis das empresas no Rio. Segundo ele, nossas ideias do ForkInRails e do StartOnRails era o que faltava para movimentar a comunidade Ruby. Nem sempre um desenvovedor autônomo tem a oportunidade de compartilhar conhecimento. Coisa que geralmente fica restrita às equipes no mundo corporativo.

Depois o papo resetou e foi parar no Counter Strike e Call of Duty. Foi quando o Vagner revelou que, em seu tempo de CS, era frequentemente banido dos servidores devido à sua média de mortes, que era algo em torno de 70/3. Ninguém, nem nesta época, nem em outra qualquer, ficaria feliz em jogar num servidor com um jogador tão viciado assim.

 Depois voltamos ao Rails. O Tauil deu uma interessante justificativa para não se incluir o arquivo .rvmrc no projeto por tratar-se de um arquivo de configuração local e o desenvolvedor precisa ter a liberdade de trabalhar com suas próprias gemsets sem gerar conflito para os demais desenvolvedores. De fato, nem precisamos ir tão longe no pensamento para imaginar o problema que daria no caso do projeto rodar em diferentes rubies.

  Em seguida, apresentamos o rbDB ao pessoal e iniciamos o trabalho. Utilizamos a Gemfile que fiz na mão 9 meses atrás. Colocamos a App para rodar. O Reynaldo teve problemas no Mac para ter o código rodando. Uma coisa que vale a pena ser citada são os detalhes. Sempre vemos nos encontros aqui na empresa problemas causados por detalhes esquecidos. Uma dica: Os detalhes não podem ser menosprezados.

 Quando todos tinham feito o clone de nosso fork no Github e a App pronta, o Taul fez par com Reynaldo e com o Vagner. Foi quando chegaram o Fernando e o Pichot. Diego chegou em seguida.

 O plano era atualuzar a app, que rodava em Ruby 1.8.7 e Rails 2.1.1, para Ruby 1.9.3 com Rails 3.2.2. Enquanto decidiam a estratégia de atualização e testavam a Gem Rails Upgrade, tirei algumas duvidas do Fernando e do Pichot. Desistimos da Gem Rails Upgrade, os testes conduzidos nos mostraram que teríamos tanto trabalho quanto fazer tudo manualmente. Tentei atualizar na mão o framework, mas seria até mais trabalhoso. Criamos, então, uma App nova e geramos a Gemfile incluindo os plugins que encontramos atualizadas em forma de GEMs. As que não possuiam versões atualizadas foram ignoradas por enquanto. Copiamos os modelos, controladores, helpers, voews e os testes, tudo manualmente e formos acertando o código.

 Quando executamos a aplicação, paramos por causa de um erro de conexão ao banco de dados. A aplicação não pode efetuar a conexão ao banco de dados ao iniciar, já que nenhum banco de dados foi selecionado neste momento. Na versão original o Redox sobreescreveu o método do Active Record que faz a conexão. Foi onde paramos e de onde continuaremos no próximo ForkInRails.

Detalhes do rbDB:
Criador Redox (Sylvain Utard)
https://github.com/redox


Versão portada para Rails 3.2.2
https://github.com/KoshTech/rbdb


Versão original feita em Rails 2.1.1
https://github.com/redox/rbdb


Site oficial que está fora do ar
http://www.rbdb.org/


Screencast
http://www.vimeo.com/2046491

  • 2
  • 3
Por Fernando Kosh
16/05/2012, 06:00 h

Veja também


FACEBOOK

> Visite, curta, siga

TWITTER

> Siga

GOOGLE +

> Adicione aos seus circulos

koshtech.com

[:koshtech] Rio de Janeiro
Rua Bastos de Oliveira, 139 parte
Oswaldo Cruz - RJ

Telefone: 55 21 3936-5322 / 24 981-361-642

koshtech.com © 1997-2017

 

Tecnologia [:batepronto] © 2012-2017 by [:koshtech] · Política de Privacidade · Termos de Uso