Mysql
 sql >> Base de données >  >> RDS >> Mysql

Portage d'une application Ruby/Rails/MRI vers JRuby

Nous avons porté une grande application Rails sur JRuby l'année dernière et c'était une quantité de travail surprenante. Certes, une partie de cela était liée au fait que l'application était plutôt mal écrite et avait beaucoup de code hérité, mais quand même. Au cas où vous vous poseriez la question :la plupart de nos problèmes provenaient des pierres précieuses que nous utilisions, qui dépendaient alors parfois, par ex. FFI qui ne fonctionnait pas correctement avec JRuby à ce moment-là. Un portage à Rubinius que j'ai fait un peu plus tard m'a semblé beaucoup moins douloureux, mais a été abandonné au profit d'un maintien en IRM.

Pour le Gemfile, il y a une platform option que vous pouvez utiliser. Voici un exemple tiré de la documentation de Bundler :

gem "weakling",   :platforms => :jruby
gem "ruby-debug", :platforms => :mri_18
gem "nokogiri",   :platforms => [:mri_18, :jruby]

Il a également une forme de bloc :

platforms :jruby do
  gem "foo"
end

L'une ou l'autre forme fonctionne bien, puisque

En tant que joyau pour MySQL, j'utiliserais le bien nommé mysql , il semble y avoir un jdbc-mysql pour JRuby.