Snorby still needs MyISAM engine in the MySQL database instead of InnoDB

Snorby won’t work with InnoDB as database engine!

Some day I had dropped the entire database schema, for some reason. To get a new one, let Snorby install the new database and all the required tables, by typing:

rake snorby:setup

But afterwards I could not log in anymore. What the hell…
The access log gave me an error number 500, internal server error. And in the error log there was this:

App 4330 stderr: ActionView::Template::Error (undefined method `name' for nil:NilClass):
App 4330 stderr: 139: <ul class='box-list'>
App 4330 stderr: 140: <% @recent_events.each do |event| %>
App 4330 stderr: 141: <li>
App 4330 stderr: 142: <%= link_to truncate(, :length => 28), results_path(:title => "#{truncate(, :length => 40)}", 
App 4330 stderr: 143: "match_all"=>"true", "search"=>{"sensor"=>{"column"=>"signature", "operator"=>"is", "value"=> event.signature.sig_id } }), :title => %> 
App 4330 stderr: 144: <span>
App 4330 stderr: 145: <%= number_with_delimiter ( ? Event.count(:sig_id => event.signature.sig_id) : event.signature.events_count) %>
App 4330 stderr: app/views/page/dashboard.html.erb:142:in `block in _app_views_page_dashboard_html_erb___462811225_86543430'
App 4330 stderr: app/views/page/dashboard.html.erb:140:in `each'
App 4330 stderr: app/views/page/dashboard.html.erb:140:in `_app_views_page_dashboard_html_erb___462811225_86543430'
App 4330 stderr: app/controllers/page_controller.rb:56:in `dashboard'

At the first moment I thought that it could be an issue with ruby or rails or rake or thor something like that. No it’s not!

I’ve tried several things, but nothing has changed. But then I took a brief look into the database, and I noticed, that now all tables had been set up with InnoDB engine.
It seems, that since MySQL 5.6 or 5.7, InnoDB is now the default engine setting.

When I switched back to MyISAM, everything was perfect again.

This has been proofed for Snorby 2.6.3. running on debian 8.6 with ruby 3.2.22, rake 11.3.0…