Skip to content

Installation

antarr edited this page Apr 10, 2026 · 2 revisions

Installation

Add the Gem

# Gemfile
gem "mysql_genius"

Or install from GitHub for the latest:

gem "mysql_genius", github: "antarr/mysql_genius"

Then run:

bundle install

Quick Setup

The install generator handles everything:

rails generate mysql_genius:install

This creates:

  • config/initializers/mysql_genius.rb -- configuration with commented examples
  • config/mysql_genius.yml -- YAML config for database settings
  • Mounts the engine at /mysql_genius in your routes

Manual Setup

1. Mount the Engine

In config/routes.rb:

Rails.application.routes.draw do
  mount MysqlGenius::Engine, at: "/mysql_genius"
end

2. Restrict Access

# Using a session constraint
constraints ->(req) { req.session[:admin] } do
  mount MysqlGenius::Engine, at: "/mysql_genius"
end

# Or using Devise
authenticate :user, ->(u) { u.admin? } do
  mount MysqlGenius::Engine, at: "/mysql_genius"
end

Or use the built-in authentication lambda:

MysqlGenius.configure do |config|
  config.base_controller = "ApplicationController"
  config.authenticate = ->(controller) { controller.current_user&.admin? }
end

Requirements

  • Rails 5.2+
  • Ruby 2.6+
  • MySQL or MariaDB
  • Redis (optional, for slow query monitoring)

< Home | Configuration >

Clone this wiki locally