Web | This Site

Learning Ruby on Rails 2.1
Advanced Ruby on Rails 2.1
Ruby on Rails Quick Guide
Ruby Tutorial
Ruby on Rails Resources
Selected Reading
© 2011 TutorialsPoint.COM

| Home |  | References |  | Discussion Forums |  | About TP

# Ruby on Rails 2.1.x - Database Setup

Before starting with this chapter, make sure your database server is setup and running well. Ruby on Rails recommends to create three databases. A database for each development, testing and production environment. According to convention their names should be:

- library_development
- library_production
- library_test

You should initialize all three of them and create a user and password for them with full read and write privileges. I am using root user ID for my application. In MySQL, a console session in which you do this looks something like this:

    mysql> create database library_development;
    Query OK, 1 row affected (0.01 sec)

    mysql> use library_development;
    Database changed

    mysql> grant all privileges on library_development.*
              to 'root'@'localhost' identified by 'password';
    Query OK, 0 rows affected (0.00 sec)

    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)

Note: Here you would have to replace password with actual password you have set for your root userid.

If you are going to use testing and production databases then you should issue the same set of commands for each of the two databases library_production and library_test.

# Configuring database.yml:

At this point, you need to let Rails know about the user name and password for the databases. You do this in the file database.yml, available in the ~library\config subdirectory of Rails Application you created.

This file has live configuration sections for MySQL databases. In each of the sections you use, you need to change the username and password lines to reflect the permissions on the databases you've created.

In this example I'm using root as user ID and password as password.

When you finish, database.yml should look something like as follows:

    development:
      adapter: mysql
      encoding: utf8
      database: library_development
      username: root
      password: password
      host: localhost
    test:
      adapter: mysql
      encoding: utf8
      database: library_test
      username: root
      password: password
      host: localhost
    production:
      adapter: mysql
      encoding: utf8
      database: library_production
      username: root
      password: password
      host: localhost

NOTE: You can use similar setting for other databases adapters in case you want to use any other database except MySQL.

# What is next ?

Next two chapters will teach you how to model your database tables and how to manage them using Rails Migrations.

Advertisement

Online Image Processing

Indian Baby Names