Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Portieren einer Ruby/Rails/MRI-App auf JRuby

Wir haben letztes Jahr eine große Rails-Anwendung auf JRuby portiert und es war überraschend viel Arbeit. Zugegeben, ein Teil davon hatte damit zu tun, dass die App ziemlich schlecht geschrieben war und viel Legacy-Code hatte, aber trotzdem. Falls Sie sich fragen:Die meisten unserer Probleme kamen von Edelsteinen, die wir verwendet haben, die dann manchmal von z. FFI, das zu dieser Zeit nicht richtig mit JRuby funktionierte. Ein Port zu Rubinius, den ich etwas später machte, schien viel weniger schmerzhaft zu sein, wurde aber zugunsten des Verbleibs beim MRI aufgegeben.

Für das Gemfile gibt es eine platform Option, die Sie verwenden können. Hier ist ein Beispiel aus der Bundler-Dokumentation:

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

Es hat auch eine Blockform:

platforms :jruby do
  gem "foo"
end

Beide Formen funktionieren gut, da

Als Juwel für MySQL würde ich das treffend benannte mysql verwenden , scheint es ein jdbc-mysql zu geben für JRuby.