Skip to content

Instantly share code, notes, and snippets.

@denegny
Last active February 21, 2020 10:00
Show Gist options
  • Save denegny/56efc0ecbbd0980dd8074715eb1b3294 to your computer and use it in GitHub Desktop.
Save denegny/56efc0ecbbd0980dd8074715eb1b3294 to your computer and use it in GitHub Desktop.
Disable ActiveRecord for Rails 4,5

If you are creating a new application, you can use -O to skip ActiveRecord:

rails new my_app -O

For existing applications:

  1. Remove database adapter gems from your Gemfile (mysql2, sqlite3, etc.)

  2. Change your config/application.rb

Remove require 'rails/all line and require frameworks you want to use, for example:

require "action_controller/railtie" require "action_mailer/railtie" require "sprockets/railtie" require "rails/test_unit/railtie"

  1. Delete your config/database.yml file, db/schema.rb and migrations (if any)

  2. Delete migration check in test/test_helper.rb

  3. Delete any ActiveRecord configuration from your config/environments files (this is what is causing your error)

This is all you need to do for an empty Rails app. If you run into problems caused by your existing code, stack trace should give you sufficient information on what you need to change. You might for example have some ActiveRecord configuration in your initializers.

Since this is still the first hit when searching Google for disabling active record for Rails 5, I'll add this here:

For Rails 5

Do all the steps in @mechanicalfish answer, but also remove the line

Rails.application.config.active_record.belongs_to_required_by_default = true

from

config/initializers/new_framework_defaults.rb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment