CRUD হল চারটি মৌলিক কার্যাবলী, যা যে কোনো ডেটাবেস-ভিত্তিক অ্যাপ্লিকেশনে ব্যবহৃত হয়: Create (তৈরি করা), Read (পড়তে বা দেখুন), Update (আপডেট করা), এবং Delete (মুছে ফেলা)। Ruby on Rails এর Active Record মডেল ব্যবহার করে এই সব অপারেশন খুব সহজেই সম্পন্ন করা যায়। Rails-এ CRUD অপারেশনগুলি ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের ভিত্তি হিসেবে কাজ করে।
Create Operation
Create অপারেশনটি ডেটাবেসে নতুন রেকর্ড যুক্ত করতে ব্যবহৃত হয়। Rails-এ এটি সাধারণত create বা new এবং save মেথডের মাধ্যমে করা হয়।
উদাহরণ:
ধরা যাক, আমাদের একটি User মডেল আছে, যার মধ্যে name এবং email ফিল্ড রয়েছে।
user = User.new(name: "John Doe", email: "john@example.com")
user.save
এছাড়া, create মেথড ব্যবহার করেও একই কাজ করা যায়:
user = User.create(name: "Jane Doe", email: "jane@example.com")
এটি সরাসরি users টেবিলে একটি নতুন রেকর্ড তৈরি করবে এবং সেই রেকর্ডটি user অবজেক্টে সংরক্ষণ করবে।
Read Operation
Read অপারেশনটি ডেটাবেস থেকে রেকর্ডগুলো পড়তে বা দেখতে ব্যবহৃত হয়। Rails-এ এই অপারেশনটি find, where, all, first, last ইত্যাদি মেথড দিয়ে করা হয়।
উদাহরণ:
find: একটি নির্দিষ্ট আইডি দিয়ে রেকর্ড খুঁজে বের করা:
user = User.find(1)where: একটি নির্দিষ্ট শর্তে রেকর্ড খোঁজা:
users = User.where(name: "John Doe")all: সব রেকর্ড পড়া:
users = User.allfirst: প্রথম রেকর্ড পড়া:
user = User.firstlast: শেষ রেকর্ড পড়া:
user = User.last
Update Operation
Update অপারেশনটি বিদ্যমান রেকর্ডের তথ্য পরিবর্তন করতে ব্যবহৃত হয়। Rails-এ এটি update বা update_attributes মেথড ব্যবহার করে করা যায়।
উদাহরণ:
user = User.find(1)
user.update(name: "John Smith", email: "johnsmith@example.com")
এটি id = 1 আইডির ইউজারের name এবং email ফিল্ড আপডেট করবে।
অথবা, update_attributes মেথডও ব্যবহার করা যেতে পারে (যদিও এটি পুরনো):
user.update_attributes(name: "Jane Smith")
আপডেটের সময় যদি কোনো ভ্যালিডেশন থাকে, তাহলে তা পরীক্ষা করা হবে এবং যদি ভ্যালিড না হয়, তাহলে আপডেট সম্পন্ন হবে না।
Delete Operation
Delete অপারেশনটি একটি রেকর্ড ডিলিট করার জন্য ব্যবহৃত হয়। Rails-এ এটি destroy বা delete মেথড দিয়ে করা যায়। destroy মেথডটি রেকর্ডটি ডিলিট করার আগে প্রয়োজনীয় কলব্যাক কার্যকর করে, তবে delete মেথডটি কলব্যাক ছাড়াই রেকর্ডটি মুছে ফেলে।
উদাহরণ:
destroy: রেকর্ডটি স্থায়ীভাবে ডিলিট করা:
user = User.find(1) user.destroydelete: রেকর্ডটি সরিয়ে ফেলা, তবে কলব্যাক ছাড়া:
user = User.find(1) user.delete
destroy ব্যবহার করলে, এটি অ্যাসোসিয়েশন সম্পর্কিত ডিলিট এবং কলব্যাক মেথডগুলোও চালাবে (যেমন, যদি User এর সাথে Post অ্যাসোসিয়েশন থাকে, তবে সংশ্লিষ্ট পোস্টগুলোও মুছে যাবে)।
Rails-এ CRUD এর সাথে Validation
যখন আপনি create বা update অপারেশন চালান, তখন Rails মডেল ভ্যালিডেশন পরীক্ষা করে। যদি কোনো ফিল্ড ভুল হয় (যেমন, নাম না দেওয়া হলে), তবে রেকর্ডটি ডেটাবেসে সংরক্ষণ হবে না।
উদাহরণ:
class User < ApplicationRecord
validates :name, presence: true
validates :email, presence: true, uniqueness: true
end
এখানে, name এবং email অবশ্যই উপস্থিত থাকতে হবে এবং email ফিল্ডটি ইউনিক হতে হবে। যদি ভ্যালিডেশন ব্যর্থ হয়, তবে create বা update অপারেশনটি সফল হবে না এবং আপনার মডেলটি যথাযথভাবে ত্রুটি বার্তা সহ রিটার্ন করবে।
সারমর্ম
Rails-এ CRUD অপারেশনগুলি ডেটাবেসের রেকর্ড ম্যানিপুলেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ। Create, Read, Update, এবং Delete অপারেশনগুলি সহজেই Active Record মডেল মেথড দ্বারা পরিচালিত হয়। Rails স্বয়ংক্রিয়ভাবে ভ্যালিডেশন, কলব্যাক এবং সম্পর্কের পরিচালনা করে, যা ডেটাবেস অপারেশনগুলোকে আরো নিরাপদ এবং কার্যকর করে তোলে।
Read more