SQLAlchemy কনফিগার করতে, প্রথমে একটি ইঞ্জিন তৈরি করতে হয়, যা ডেটাবেসের সাথে সংযোগ স্থাপন করবে। এর পর, আপনি Session ব্যবহার করে ডেটাবেসের সাথে কাজ করতে পারবেন, এবং Declarative Base ব্যবহার করে মডেল তৈরি করবেন।
SQLAlchemy ইঞ্জিন তৈরি
SQLAlchemy এর ইঞ্জিন ডেটাবেসের সাথে সংযোগ স্থাপন এবং SQL স্টেটমেন্ট কার্যকর করার জন্য ব্যবহৃত হয়। আপনি যে ডেটাবেসটি ব্যবহার করবেন তার জন্য ইঞ্জিন তৈরি করতে হবে।
from sqlalchemy import create_engine
# SQLite ডেটাবেসের জন্য ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db', echo=True)
Session তৈরি করা
Session তৈরি করলে আপনি ডেটাবেসে ডেটা যোগ, পড়া, আপডেট এবং মুছে ফেলার মতো অপারেশন করতে পারবেন।
from sqlalchemy.orm import sessionmaker
# সেশন তৈরি করা
Session = sessionmaker(bind=engine)
session = Session()
Declarative Base তৈরি করা
SQLAlchemy ORM ব্যবহারের জন্য Declarative Base তৈরি করা প্রয়োজন। এটি একটি ক্লাস যা ডেটাবেস টেবিলের সাথে সম্পর্কিত মডেল তৈরি করে।
from sqlalchemy.ext.declarative import declarative_base
# Declarative Base তৈরি
Base = declarative_base()
মডেল তৈরি করা
ORM এর মাধ্যমে ডেটাবেস টেবিলের জন্য মডেল তৈরি করতে হবে। এই মডেলটি Base থেকে ইনহেরিট করবে এবং ডেটাবেস টেবিলের কলামগুলোকে Python ক্লাসের অ্যাট্রিবিউট হিসেবে মডেল করবে।
from sqlalchemy import Column, Integer, String
# User নামক মডেল তৈরি করা
class User(Base):
__tablename__ = 'users' # টেবিল নাম
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
ডেটাবেসে টেবিল তৈরি করা
Base.metadata.create_all() মেথড ব্যবহার করে ডেটাবেসে টেবিল তৈরি করা যায়।
# টেবিল তৈরি করা
Base.metadata.create_all(engine)
ডেটা ইনসার্ট এবং রিড করা
এখন আপনি সেশন ব্যবহার করে ডেটা ইনসার্ট এবং রিড করতে পারবেন।
# নতুন ইউজার তৈরি করা
new_user = User(name="Alice", age=30)
session.add(new_user)
session.commit() # ডেটাবেসে সেভ করা
ডেটা রিড করতে:
# সব ইউজার রিড করা
users = session.query(User).all()
for user in users:
print(user.name, user.age)
সারাংশ
SQLAlchemy কনফিগারেশনের মাধ্যমে আপনি ডেটাবেস সংযোগ স্থাপন, টেবিল তৈরি, ডেটা ম্যানিপুলেশন এবং CRUD অপারেশন চালাতে পারবেন। SQLAlchemy একটি শক্তিশালী এবং নমনীয় টুল, যা ডেটাবেস পরিচালনা সহজ এবং কার্যকর করে তোলে।
Read more