Ruby on Rails-এ Model তৈরি এবং ডেটাবেস কনফিগারেশন করার প্রক্রিয়া অত্যন্ত সহজ এবং সরল। Model হলো Rails অ্যাপ্লিকেশনের Active Record এর অংশ, যা ডেটাবেস টেবিলের সাথে সম্পর্ক তৈরি করে এবং ডেটাবেসে তথ্য পরিচালনা করে। ডেটাবেস কনফিগারেশন কাজটি সাধারণত Rails অ্যাপ্লিকেশন সেটআপের প্রথম ধাপে করা হয়।
Model তৈরি
Rails-এ একটি Model তৈরি করার জন্য, আপনি rails generate model কমান্ড ব্যবহার করতে পারেন। মডেলটি সাধারণত ডেটাবেস টেবিলের সাথে সম্পর্কিত থাকে এবং CRUD (Create, Read, Update, Delete) অপারেশনগুলো পরিচালনা করে।
ধাপ ১: মডেল তৈরি করা
আপনি নতুন মডেল তৈরি করতে নিচের কমান্ডটি ব্যবহার করতে পারেন:
rails generate model Product name:string price:decimal description:text
এটি একটি Product নামক মডেল তৈরি করবে, যেখানে name (স্ট্রিং), price (ডেসিমাল) এবং description (টেক্সট) নামে তিনটি কলাম থাকবে। একই সাথে এটি একটি মাইগ্রেশন ফাইলও তৈরি করবে, যা টেবিল তৈরি করতে সাহায্য করবে।
ধাপ ২: মাইগ্রেশন ফাইল চালানো
মডেল এবং মাইগ্রেশন ফাইল তৈরি হওয়ার পর, ডেটাবেসে টেবিল তৈরি করতে মাইগ্রেশন চালাতে হবে:
rails db:migrate
এটি ডেটাবেসে products নামক একটি টেবিল তৈরি করবে, যেখানে name, price, এবং description কলাম থাকবে।
ডেটাবেস কনফিগারেশন
Rails অ্যাপ্লিকেশনে ডেটাবেস কনফিগারেশন সাধারণত config/database.yml ফাইলে করা হয়। এখানে আপনি অ্যাপ্লিকেশনের ডেটাবেস সংযোগের জন্য প্রয়োজনীয় কনফিগারেশন সেট করেন। Rails ডিফল্টভাবে SQLite ডেটাবেস ব্যবহার করে, তবে আপনি MySQL বা PostgreSQL এর মতো অন্য ডেটাবেস সিস্টেমও ব্যবহার করতে পারেন।
ধাপ ১: ডেটাবেস কনফিগারেশন ফাইল সেট করা
config/database.yml ফাইলে ডেটাবেস সংযোগের বিস্তারিত কনফিগারেশন থাকে। নিচে একটি সাধারণ database.yml ফাইলের উদাহরণ দেওয়া হলো:
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: db/production.sqlite3
username: myapp
password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
এখানে, adapter হলো ডেটাবেসের টাইপ (যেমন sqlite3, postgresql, বা mysql2), এবং database হলো ডেটাবেস ফাইলের পথ। আপনি যদি PostgreSQL বা MySQL ব্যবহার করতে চান, তাহলে adapter এবং database সম্পর্কিত কনফিগারেশন পরিবর্তন করতে হবে।
ধাপ ২: ডেটাবেস তৈরি করা
ডেটাবেস কনফিগারেশন সম্পন্ন হওয়ার পর, আপনাকে ডেটাবেস তৈরি করতে হবে:
rails db:create
এটি ডেটাবেস ফাইল বা টেবিল তৈরি করবে, যা আপনার ডেটাবেস কনফিগারেশনের উপর ভিত্তি করে হবে।
ধাপ ৩: ডেটাবেস কনফিগারেশন পরিবর্তন
যদি আপনি ডেটাবেস সিস্টেম পরিবর্তন করতে চান (যেমন SQLite থেকে PostgreSQL), তবে Gemfile এ সংশ্লিষ্ট ডেটাবেস অ্যাডাপ্টারের জেম যুক্ত করতে হবে। উদাহরণস্বরূপ, PostgreSQL এর জন্য:
gem 'pg', '~> 1.1'
তারপর:
bundle install
rails db:create
rails db:migrate
Model এ Validation এবং Association যোগ করা
মডেলে Validation এবং Association যুক্ত করা সম্ভব, যা ডেটার সঠিকতা এবং সম্পর্ক নিশ্চিত করে।
উদাহরণ:
class Product < ApplicationRecord
# Validation
validates :name, presence: true
validates :price, presence: true, numericality: { greater_than: 0 }
# Association
has_many :orders
end
এখানে:
- validates: মডেলের তথ্য সঠিক কিনা যাচাই করতে ব্যবহৃত হয়। যেমন,
nameঅবশ্যই থাকতে হবে এবংprice0 এর বেশি হতে হবে। - has_many:
Productএর একাধিকOrderথাকতে পারে, এই সম্পর্কটি ব্যাখ্যা করে।
ডেটাবেসের সাথে Model এর কাজ
ডেটাবেসের সাথে কাজ করার জন্য Active Record মডেল কিছু মেথড প্রদান করে যা ডেটা প্রবাহ পরিচালনা করতে সাহায্য করে।
Create:
product = Product.create(name: "Laptop", price: 1000.00, description: "A high-end laptop")Read:
product = Product.find(1) # ID অনুযায়ী প্রোডাক্ট খুঁজে বের করাUpdate:
product.update(price: 1200.00)Delete:
product.destroy
সারমর্ম
Ruby on Rails-এ Model তৈরি করা এবং ডেটাবেস কনফিগারেশন করা সহজ এবং কার্যকরী। Model তৈরি করতে rails generate model ব্যবহার করা হয়, যা মাইগ্রেশন ফাইলসহ মডেল ক্লাস তৈরি করে। ডেটাবেস কনফিগারেশন config/database.yml ফাইলে করা হয়, যেখানে আপনি ডেটাবেসের ধরন, সংযোগ এবং অন্যান্য কনফিগারেশন সেট করেন। ডেটাবেস অপারেশন যেমন Create, Read, Update, Delete Rails এর Active Record মডেলের মাধ্যমে সহজেই পরিচালিত হয়।
Read more