Flask-এ SQLAlchemy হলো একটি শক্তিশালী Object Relational Mapping (ORM) লাইব্রেরি যা Python এবং SQL ডাটাবেসের মধ্যে সম্পর্ক তৈরি করে। এটি ডাটাবেসের সাথে যোগাযোগের জন্য SQL কোড লেখার পরিবর্তে Python ক্লাস ব্যবহার করে ডেটা ম্যানিপুলেট করতে সাহায্য করে। Flask-এ SQLAlchemy ব্যবহারের মাধ্যমে আপনি ডাটাবেস পরিচালনা করতে পারেন সহজে এবং সুসংগঠিতভাবে।
SQLAlchemy ORM এর সুবিধা
- ডাটাবেস মডেলিং: Python ক্লাসের মাধ্যমে ডাটাবেস টেবিলের মডেল তৈরি করা যায়।
- ডাটাবেস কুয়েরি: SQLAlchemy সহজেই ডাটাবেস থেকে ডেটা ইস্যু করার জন্য ব্যবহার করা যায়।
- ডাটাবেস মাইগ্রেশন: SQLAlchemy Flask-Migrate এর মাধ্যমে ডাটাবেসের কাঠামো আপডেট করা যায়।
- দ্রুত ডেভেলপমেন্ট: ORM ব্যবহারের মাধ্যমে SQL কোড কমিয়ে দ্রুত ডেভেলপমেন্ট সম্ভব।
Flask অ্যাপে SQLAlchemy ORM ব্যবহার করার ধাপসমূহ
ধাপ ১: Flask অ্যাপ্লিকেশন তৈরি এবং SQLAlchemy ইনস্টলেশন
প্রথমে Flask অ্যাপ তৈরি করতে হবে এবং Flask-SQLAlchemy প্যাকেজটি ইনস্টল করতে হবে।
Flask-SQLAlchemy ইনস্টল করুন:
pip install flask-sqlalchemy- Flask অ্যাপ্লিকেশন তৈরি করুন: Flask অ্যাপের জন্য একটি ফোল্ডার তৈরি করুন এবং
app.pyফাইল তৈরি করুন।
ধাপ ২: Flask অ্যাপে SQLAlchemy কনফিগারেশন
Flask অ্যাপে SQLAlchemy ব্যবহার করতে হলে প্রথমে ডাটাবেস কনফিগারেশন সেট করতে হবে।
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# ডাটাবেস URI কনফিগারেশন
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db' # SQLite ডাটাবেস
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # অপ্রয়োজনীয় পরিবর্তন ট্র্যাকিং বন্ধ
# SQLAlchemy ইনিশিয়ালাইজ করা
db = SQLAlchemy(app)
if __name__ == "__main__":
app.run(debug=True)
এখানে:
SQLALCHEMY_DATABASE_URI: ডাটাবেসের URI নির্ধারণ করে (এখানে SQLite ডাটাবেস ব্যবহার করা হয়েছে)।SQLALCHEMY_TRACK_MODIFICATIONS: অপ্রয়োজনীয় ট্র্যাকিং বন্ধ করতে এটি False রাখা হয়েছে।
ধাপ ৩: ডাটাবেস মডেল তৈরি
SQLAlchemy ORM এর মাধ্যমে Python ক্লাস দিয়ে ডাটাবেস মডেল তৈরি করা হয়, যেখানে প্রতিটি ক্লাস একটি ডাটাবেস টেবিলকে উপস্থাপন করে।
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return f"<User {self.username}>"
এখানে:
Userক্লাস একটি ডাটাবেস টেবিলের প্রতিনিধিত্ব করে।id: এটি প্রাইমারি কিপ হিসেবে ব্যবহৃত হয়।usernameএবংemail: টেবিলের অন্যান্য কলাম।
ধাপ ৪: ডাটাবেস টেবিল তৈরি
Flask-এ ডাটাবেস টেবিল তৈরি করতে SQLAlchemy ORM ব্যবহার করা হয়। এর জন্য প্রথমে Python শেল অথবা Flask shell চালু করতে হবে এবং তারপর db.create_all() ফাংশন ব্যবহার করতে হবে।
with app.app_context():
db.create_all()
এটি ডাটাবেসের সাথে সংযুক্ত হবে এবং User টেবিল তৈরি করবে। যদি আপনি নতুন টেবিল তৈরি করতে চান, তবে এই কমান্ডটি ব্যবহার করতে হবে।
ধাপ ৫: ডাটাবেসে ডেটা ইনসার্ট করা
এখন আপনি নতুন ডেটা ইনসার্ট করতে পারেন:
# নতুন ইউজার তৈরি
new_user = User(username='john_doe', email='john.doe@example.com')
# ডাটাবেসে যোগ করা
db.session.add(new_user)
db.session.commit()
এখানে:
db.session.add(): নতুন ইউজার অ্যাড করা।db.session.commit(): পরিবর্তন ডাটাবেসে সংরক্ষণ করা।
ধাপ ৬: ডাটাবেস থেকে ডেটা পড়া
ডাটাবেস থেকে ডেটা রিট্রিভ করার জন্য SQLAlchemy ORM-এর মাধ্যমে কুয়েরি ব্যবহার করা হয়।
user = User.query.filter_by(username='john_doe').first()
print(user.email)
এখানে:
User.query.filter_by(): ইউজারের নাম অনুসারে কুয়েরি চালানো হচ্ছে।first(): প্রথম মেলে এমন রেকর্ড রিটার্ন করা।
ধাপ ৭: ডাটাবেস থেকে ডেটা আপডেট করা
ডেটা আপডেট করার জন্য:
user = User.query.filter_by(username='john_doe').first()
user.email = 'new.email@example.com'
db.session.commit()
এখানে:
user.email = 'new.email@example.com': ইমেল আপডেট করা হয়েছে।db.session.commit(): পরিবর্তন সেভ করা।
ধাপ ৮: ডাটাবেস থেকে ডেটা ডিলিট করা
ডেটা ডিলিট করতে:
user = User.query.filter_by(username='john_doe').first()
db.session.delete(user)
db.session.commit()
এখানে:
db.session.delete(): ইউজারকে ডিলিট করা।db.session.commit(): পরিবর্তন সেভ করা।
Flask-এ SQLAlchemy ORM ব্যবহারের সুবিধা
- সোজাসুজি কোড: ডাটাবেসের সাথে সম্পর্কিত কাজ Python ক্লাসের মাধ্যমে করা যায়, SQL কোড কমানো সম্ভব।
- ডাটাবেস ইন্টারঅ্যাকশন: SQLAlchemy ORM ব্যবহার করে ডাটাবেসের সঙ্গে ইন্টারঅ্যাকশন সহজ এবং কার্যকর।
- নিরাপত্তা: SQL কোডের পাশাপাশি SQL Injection প্রতিরোধের জন্য ORM নিরাপদ উপায় প্রদান করে।
- মাইগ্রেশন: Flask-Migrate-এর মাধ্যমে ডাটাবেস মাইগ্রেশন সহজ হয়।
Flask-এ SQLAlchemy ORM ব্যবহার করে ডাটাবেস ম্যানেজমেন্ট খুবই শক্তিশালী এবং সহজ। এটি ডাটাবেস মডেলিং, কুয়েরি চালানো, ডেটা ইনসার্ট, আপডেট, এবং ডিলিট করার কাজকে অত্যন্ত সহজ করে তোলে। Flask ও SQLAlchemy এর সমন্বয়ে আপনি অত্যন্ত কার্যকরী এবং দ্রুত ডাটাবেস পরিচালনা করতে পারেন।
Read more