SQLAlchemy – دیتابیس در دستان شماست

mhm007_007

New Member
تو پروژه هایی که نیاز کمی به ارتباط با دیتابیس (MySQL) داشتن از کتابخونه PyMySQL استفاده می‌کردم برای پروژه های کوچیک خیلی کار راه بنداز بود تا اینکه در آخرین پروژم بکل داستان عوض شد.

تو این پروژه بحث ارتباط با دیتابیس و ارسال و دریافت اطلاعات و موجودیت های سیستم بسیار پر رنگ بود دیگه نمیتونستم از PyMySQL استفاده کنم چون PyMySQL یک wrapper ساده بود که دستورات خام sql رو اجرا میکرد ولی من یه ORM لازم داشتم با امکانات زیاد تا کار رو برام آسون تر کنه

تو ذهنم بود که از یه ORM استفاده کنم که:
  1. کارایی و سرعت سیستم رو به صورت مشخصی کم نکنه
  2. داکیومنت خوبی داشته
  3. کامیونیتی فعالی داشته باشه تا اگه مشکلی پیش اومد بتونم سریع حلش کنم
  4. سریع بشه باهاش کار کرد و مدت زمان زیادی رو برای یادگرفتن از من نگیره
اگه از حق نگذریم SQLAlchemy همه اینا رو داره

به هر حال من SQLAlchemy رو انتخاب کردم با اینکه میشه سریع یک پروژه رو با SQLAlchemy شروع کرد ولی متوجه شدن بعضی مفاهیم اون خیلی از من وقت گرفت من در این نوشته میخوام از اول تا آخر کارهایی که تو این پروژه با SQLAlchemy انجام دادم رو به شما توضیح بدم تا کامل مفاهیم رو متوجه بشید.

اول با دستور زیر SQLAlchemy رو نصب کنید
کد:
pip3 install sqlalchemy

اولین قدم ارتباط با دیتابیس هست. برای ارتباط با هر دیتابیسی نیاز به یک url با فرمت مخصوص همون دیتابیس هست الان که دیتابیس ما MySQL از کد زیر استفاده میکنیم
کد:
[LEFT]db_engine = create_engine('mysql+pymysql://{}:{}@{}/{}?charset=utf8mb4'
  .format(DB_USER, DB_PASSWORD, DB_SERVER, DB_NAME),
  pool_size=10, max_overflow=5, pool_timeout=30, echo=False)
[/LEFT]


اشتباه نکنید با این کد SQLAlchemy به دیتابیس وصل نمیشه در واقع SQLAlchemy تنها زمانی که لازم باشه به دیتابیس وصل میشه یعنی زمانی که شما یه چیزی رو از دیتابیس درخواست کنید و یا تغییری رو اعمال کنید


به خاطر محدودیت انجمن در نمایش پست های بلند ادامه پست رو در بلاگم ببینید


من حسین موسوی هستم نویسنده این مطلب، برای دیدن مطالب بیشتر به بلاگم bestical.rocks سر بزنید
 

جدیدترین ارسال ها

بالا