Writing a Ruby on Rails application without using a database
Some of you may be wondering “why would you want to use Rails without a database?” There are several situations why a database would not be needed, and I’ve run into quite a few of them. One of the specific cases was when I wanted to write a web interface for an application that only had a REST interface available to the public.
If you find yourself needing to write a Rails application without a database, just do the following:
For Rails 1.0 and up:
config/environment.rb
:
config.frameworks -= [ :active_record ]
test/test_helper.rb
class Test::Unit::TestCase
self.use_transactional_fixtures = false
self.use_instantiated_fixtures = false
def load_fixtures
end
end
For Rails 2.1 and up: Comment out both of the lines that begin with ActiveRecord::Base
in config/initializers/new_rails_defaults.rb
:
if defined?(ActiveRecord)
# Include Active Record class name as root for JSON serialized output.
# ActiveRecord::Base.include_root_in_json = true
# Store the full class name (including module namespace) in STI type column.
# ActiveRecord::Base.store_full_sti_class = true
end
For more details, review the full article on rubyonrails.org.