Home

Transition Between Database Adapters in Rails

Transitioning from one database to another, or even to a whole new database with a new adapter, can be tough. Here's an easy way to transition content.

For whatever reason, you might just need to transition your Rails app's content from one database type to another (or even just to a new database with the same adapter). I've found that yaml_db does a great job helping you with this task.

The first thing to do is get yaml_db installed.

Gemfile

gem 'yaml_db'

Then bundle.

$ bundle install

To dump the data, just run the appropriate rake task.

$ bundle exec rake db:data:dump

Then, switch your database over to the new database. Note: If you're switching adapters, make sure you have the appropriate gem(s) installed.

You'll need to make sure your database is setup. If it isn't, then get on it!

$ bundle exec rake db:create
$ bundle exec rake db:migrate

And then you can bring the data into the new database.

$ bundle exec rake db:data:load

Nice and easy! Be sure to note that if you're doing this to move content, then you may need to go through additional steps to move any uploaded assets.


References:

Let's Connect

Keep Reading

Instantiate a Class from a String in Rails

Rails classes need to be called dynamically sometimes. Learn how to do it using the constantize inflector.

Nov 20, 2014

Connect to Multiple Databases in a Rake Task with Rails

Sometimes you need access to multiple database within a single rake task, for whatever reason. Here's how you do it.

Feb 17, 2015

Related Content (without metadata) in Rails using tf-idf

Sometimes metadata isn't available. Other times you don't want to rely on it. Here's a method for finding related content using term frequency / inverse document frequency.

Oct 12, 2014