The Hitchhiker’s Guide to Ruby On Rails Galaxy

Records of my voyage through RoR Galaxy

Posts Tagged ‘database’

Excellent rake task code snippet to completely rebuild & migrate your db

Posted by arjunghosh on January 4, 2008

The other day I came across a code snippet which completely automates the re-building and migrating of database. It also run all my rake task for db which I can include in it. All this is done by single line of code. I thought I will share it here.

1. First you need to create a rake file in your /lib/tasks folder of your Rails application. Say it is called


2. In this file, add all your customized rake tasks for your db like adding initial seed data to db,etc.

3. Then add the following code just before the end of the rake task :

desc ‘rebuild the database from scratch’

task :rebuild=> :environment do
p “Beggining the rebuild”

desc ‘destroy your database’

task :drop_and_create=> :environment do
db_name = ActiveRecord::Base.connection.current_database
p “Dropping the database”
p “Creating the database”
db_config = YAML.load_file(File.join(RAILS_ROOT, “config”, “database.yml”))

Now whenever you need to re-create your db and run all your migrations and run all your tasks for db, you need not go and run multiple commands like db:migrate, then db:your_rake_tasks, etc.

You can simply run the following:

rake db:rebuild

🙂 cool right.



db:session:create does not seem to work for creating Sessions table

Posted by arjunghosh on January 4, 2008

Well we all know when have multiple machines accessing the same session information, we need need to store the session information somewhere so that all the servers can access it. The solution is store the session information in a database and access the session information from the database.

So with that purpose in mind, I searched some rails books and found that rails has a way to putting sessions in the database.

rake db:session:create

So went ahead an entered this command at my console for my application. And lo behold, what has happened!!!

I get the following error:

(in F:/testdev/trunk)
rake aborted!
Don’t know how to build task ‘db:session:create’
(See full trace by running task with –trace)

So I checked the rake –help and also googled it. It seem lot of them have the same error. In fact it seem that AWS 2nd book also has this error as per an excellent writeup in a blog.

And here I found the solution:

rake db:sessions:create

The issue was with a single ‘s’. Now I use a rake version 0.7.3. Is that the problem? Am I using a lower version of rake?
