Oracle CRUD Tutorials in Ruby/Rails: A Step-by-Step Guide

In this tutorial, we will explore how to perform CRUD (Create, Read, Update, Delete) operations with Oracle Database using Ruby on Rails.

Posted on

Oracle Database is a powerful, enterprise-level relational database management system, and Ruby on Rails is a popular web application framework. In this tutorial, we will explore how to perform CRUD (Create, Read, Update, Delete) operations with Oracle Database using Ruby on Rails. By the end of this article, you’ll have a solid understanding of how to interact with an Oracle Database from your Ruby on Rails applications.

Prerequisites

  1. Ruby installed on your machine.
  2. Ruby on Rails installed on your machine.
  3. A running Oracle Database instance.
  4. Basic knowledge of Ruby and Ruby on Rails.

Step 1: Create a New Ruby on Rails Application

Let’s start by creating a new Ruby on Rails application. Open your terminal and run the following command:

rails new oraclecrudapp

This command will create a new Rails application named oraclecrudapp. Navigate to the project directory using cd oraclecrudapp.

Step 2: Configure Oracle Database Connection

In your Rails application, you need to configure the connection to Oracle Database. Open the config/database.yml file and make sure it looks like this:

default: &default
  adapter: oracle_enhanced
  host: your-database-host
  port: 1521
  database: your-service-name
  username: your-username
  password: your-password
  encoding: utf8

Replace 'your-database-host', 'your-service-name', 'your-username', and 'your-password' with your Oracle Database server details.

Step 3: Generate a Model and Migration

Now, let’s generate a model and a corresponding migration for our CRUD operations. In your terminal, run the following command:

rails generate model Employee name:string email:string

This command generates an Employee model with name and email fields.

Next, apply the migration to create the employees table in your Oracle Database:

rails db:migrate

Step 4: Implement CRUD Operations

Create (C)

In your employees_controller.rb file, add the following code to create a new employee:

def create
  @employee = Employee.new(employee_params)

  if @employee.save
    redirect_to @employee, notice: 'Employee was successfully created.'
  else
    render :new
  end
end

This code defines a create action that creates a new employee record in the employees table.

Read (R)

To retrieve and display employee records, add the following code to your index and show actions:

def index
  @employees = Employee.all
end

def show
  @employee = Employee.find(params[:id])
end

These actions allow you to display a list of employees and view individual employees.

Update (U)

For updating employee records, add the following code to your edit and update actions:

def edit
  @employee = Employee.find(params[:id])
end

def update
  @employee = Employee.find(params[:id])

  if @employee.update(employee_params)
    redirect_to @employee, notice: 'Employee was successfully updated.'
  else
    render :edit
  end
end

These actions allow you to edit and update employee records.

Delete (D)

To delete employee records, add the following code to your destroy action:

def destroy
  @employee = Employee.find(params[:id])
  @employee.destroy

  redirect_to employees_path, notice: 'Employee was successfully deleted.'
end

This action deletes an employee record.

Step 5: Create Views

Create views to display and interact with your employees. In the app/views/employees folder, create the following files:

  • index.html.erb: Display a list of employees.
  • show.html.erb: Display an individual employee.
  • new.html.erb: Create a new employee.
  • edit.html.erb: Edit an existing employee.

Here’s an example index.html.erb file:

<h1>Employees</h1>

<ul>
  <% @employees.each do |employee| %>
    <li>
      <%= link_to employee.name, employee %>
    </li>
  <% end %>
</ul>

<%= link_to 'New Employee', new_employee_path %>

Step 6: Run Your Application

Start your Rails server by running:

rails server

Visit http://localhost:3000/employees in your web browser to interact with your CRUD application for Oracle Database.

Conclusion

In this article, we’ve covered how to perform CRUD operations with Oracle Database using Ruby on Rails. You’ve learned how to create a Rails application, configure the Oracle Database connection, generate models, controllers, and views, and implement the CRUD operations for managing employee records. Oracle Database is a robust and scalable database system, and integrating it with Ruby on Rails allows you to build enterprise-grade web applications. Remember to handle errors gracefully and adapt these examples to suit your specific project requirements.