Model তৈরি এবং ডেটাবেস কনফিগার করা

Active Record এবং Model তৈরি - রুবি অন রেইল (Ruby on Rails) - Web Development

211

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 অবশ্যই থাকতে হবে এবং price 0 এর বেশি হতে হবে।
  • 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 মডেলের মাধ্যমে সহজেই পরিচালিত হয়।

Content added By
Promotion

Are you sure to start over?

Loading...