پرش به محتویات

مقدمه‌ای بر AbarORM

AbarORM چیست؟

AbarORM یک کتابخانه سبک و آسان برای استفاده از نگاشت شیء-رابطه‌ای (ORM) است که برای پایگاه‌داده‌های SQLite و PostgreSQL در پایتون طراحی شده است. این کتابخانه یک رابط ساده و شهودی برای مدیریت مدل‌های پایگاه‌داده و تعاملات فراهم می‌کند و کار را برای توسعه‌دهندگان آسان‌تر می‌کند تا بدون نیاز به نوشتن پرسش‌های SQL خام، با پایگاه‌داده‌ها کار کنند.

Key Features

  • سادگی: AbarORM به گونه‌ای طراحی شده است که ساده و آسان برای استفاده باشد. با یک API تمیز، می‌توانید مدل‌های پایگاه‌داده خود را تعریف کرده و با استفاده از اشیاء پایتون با پایگاه‌داده خود تعامل کنید.
  • مدیریت خودکار طرح: این کتابخانه به‌طور خودکار ایجاد و مدیریت طرح پایگاه‌داده را انجام می‌دهد، بنابراین نیازی به نوشتن اسکریپت‌های مهاجرت ندارید. جداول بر اساس تعاریف مدل شما ایجاد یا به‌روزرسانی می‌شوند.
  • عملیات CRUD: این کتابخانه از تمامی عملیات پایه CRUD (ایجاد، خواندن، به‌روزرسانی، حذف) پشتیبانی می‌کند و به شما اجازه می‌دهد با حداقل کد، عملیات پایگاه‌داده را انجام دهید.
  • پشتیبانی از مرتب‌سازی: AbarORM شامل پشتیبانی از مرتب‌سازی نتایج پرسش‌ها است که انعطاف بیشتری در بازیابی داده‌ها فراهم می‌کند.
  • روابط کلیدی خارجی: AbarORM از روابط کلید خارجی بین مدل‌ها پشتیبانی می‌کند و مدیریت ساختارهای داده پیچیده را آسان‌تر می‌کند.
  • فیلدهای سفارشی: شما می‌توانید انواع فیلد سفارشی با اعتبارسنجی و محدودیت‌ها تعریف کنید تا نیازهای خاص خود را برآورده کنید.
  • پشتیبانی از PostgreSQL و MySQL: علاوه بر SQLite، AbarORM اکنون از PostgreSQL و MySQL نیز پشتیبانی می‌کند و گزینه‌های بیشتری برای پایگاه‌داده فراهم می‌آورد.

چرا AbarORM را انتخاب کنیم؟

تجربه‌ای مشابه Django ORM

اگر با Django ORM آشنا هستید، رویکرد AbarORM در مدل‌سازی پایگاه‌داده و تعاملات بسیار آشنا خواهد بود. AbarORM بسیاری از اصول و الگوهای مشابهی که در Django ORM وجود دارد را دنبال می‌کند، مانند:

  • تعریف مدل: درست مانند Django ORM، شما جداول پایگاه‌داده خود را با استفاده از کلاس‌های پایتون تعریف می‌کنید. هر کلاس نمایانگر یک جدول است و ویژگی‌های کلاس ستون‌های جدول را تعریف می‌کنند.
  • انواع فیلد: AbarORM از انواع فیلدی مشابه Django ORM (مانند CharField، DateTimeField، ForeignKey) استفاده می‌کند که باعث می‌شود کاربران Django به راحتی به AbarORM منتقل شوند.
  • مدیریت خودکار طرح: مشابه مهاجرت‌های Django، AbarORM به طور خودکار ایجاد و به‌روزرسانی طرح را بر اساس تعاریف مدل شما انجام می‌دهد.

سهولت استفاده

AbarORM هدف دارد تا پیچیدگی‌های مربوط به تعاملات پایگاه‌داده را کاهش دهد. با انتزاع جزئیات پرسش‌های SQL و مدیریت پایگاه‌داده، این امکان را فراهم می‌آورد که توسعه‌دهندگان بیشتر بر روی نوشتن منطق برنامه تمرکز کنند تا مواجهه با جزئیات پایگاه‌داده.

انعطاف‌پذیری

در حالی که AbarORM سبک است، اما به اندازه کافی انعطاف‌پذیر است تا نیازهای مختلفی را پوشش دهد. چه در حال کار بر روی یک پروژه شخصی کوچک باشید یا یک برنامه پیچیده‌تر، AbarORM می‌تواند به نیازهای شما سازگار شود.

رویکرد پایتونیک

این کتابخانه اصول پایتونیک را دنبال می‌کند و ادغام بی‌نقصی با ساختارهای داده پایتون و ویژگی‌های شیءگرا ارائه می‌دهد. این رویکرد اطمینان حاصل می‌کند که کار کردن با پایگاه‌داده شما طبیعی و شهودی باشد.

شروع کار

برای شروع کار با AbarORM، مراحل زیر را دنبال کنید:

Installation:

کتابخانه را از طریق pip نصب کنید:

pip install abarorm

برای پشتیبانی از MySQL، شما همچنین نیاز به نصب mysql-connector-python دارید: (ضروری)

pip install mysql-connector-python
برای پشتیبانی از PostgreSQL، psycopg2-binary را نصب کنید: (ضروری)

pip install psycopg2-binary

تنظیم: اتصال پایگاه‌داده خود را پیکربندی کرده و مدل‌های خود را با ارث‌بری از SQLiteModel ، MySQLModel یا PostgreSQLModel بسته به نوع پایگاه‌داده خود تعریف کنید.

تعریف مدل‌ها: کلاس‌های پایتون ایجاد کنید که نمایانگر جداول پایگاه‌داده شما باشند. از انواع فیلدهای داخلی برای تعریف ویژگی‌های هر مدل استفاده کنید.

انجام عملیات: از متدهای ارائه‌شده توسط AbarORM برای انجام عملیات CRUD، مدیریت روابط و پرسش داده‌ها استفاده کنید.

برای دستورالعمل‌ها و مثال‌های دقیق‌تر، به بخش استفاده پایه مستندات مراجعه کنید.

پیکربندی هر پایگاه‌داده متفاوت است، اما ساده‌ترین پیکربندی موجود برای sqlite است که می‌توان آن را فقط با نام پایگاه‌داده متصل کرد.

مدل‌ها به طور خودکار توسط AbarORM مدیریت می‌شوند، یعنی هرگونه تغییر در مدل‌های شما مانند افزودن فیلدهای جدید به طور خودکار به پایگاه‌داده اعمال می‌شود بدون نیاز به مراحل مهاجرت دستی. این ویژگی توسعه را تسهیل کرده و بار اضافی مرتبط با تغییرات طرح را کاهش می‌دهد.