آموزش کلاس پایگاه داده در Peeweee
آموزش کلاس پایگاه داده در Peeweee
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس پایگاه داده در Peeweee خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
یک شی از کلاس Database از بسته Peewee نشان دهنده اتصال به پایگاه داده است. Peewee از پایگاه های داده SQLite ، PostgreSQL و MySQL پشتیبانی خارج از جعبه را از طریق زیر کلاسهای مربوط به کلاس پایگاه داده ارائه می دهد.
نمونه کلاس پایگاه داده دارای تمام اطلاعات مورد نیاز برای باز کردن ارتباط با موتور پایگاه داده است و برای اجرای کوئری ها، مدیریت تراکنش ها و انجام بازبینی جداول، ستون ها و غیره استفاده می شود.
کلاس Database دارای زیر کلاس های SqliteDatabase ، PostgresqlDatabase و MySQLDatabase است. در حالی که درایور DB-API برای SQLite در قالب ماژول sqlite3 در کتابخانه استاندارد پایتون گنجانده شده است ، ماژول های psycopg2 و pymysql برای استفاده از پایگاه های داده PostgreSql و MySQL با Peewee باید ابتدا نصب شوند.
استفاده از پایگاه داده Sqlite
پایتون از پایگاه داده SQLite در قالب ماژول sqlite3 پشتیبانی می کند. بنابراین، اتصال بسیار آسان است. Object از کلاس SqliteDatabase در Peewee نشان دهنده شی اتصال است.
1 |
con=SqliteDatabase(name, pragmas, timeout) |
در اینجا، pragma یک پسوند SQLite است که برای اصلاح عملکرد کتابخانه SQLite استفاده می شود. این پارامتر یا یک دیکشنری است یا لیستی از 2 تاپل حاوی کلید pragma و مقدار است که هر بار که یک اتصال باز می شود تنظیم می شود.
پارامتر Timeout در ثانیه برای تنظیم زمان شلوغ درایور SQLite مشخص می شود. هر دو پارامتر اختیاری هستند.
عبارت زیر ارتباطی با پایگاه داده جدید SQLite ایجاد می کند (اگر قبلاً وجود نداشته باشد).
1 |
>>> db = peewee.SqliteDatabase('mydatabase.db') |
پارامترهای Pragma به طور کلی برای اتصال به پایگاه داده جدید داده می شود. ویژگیهای معمولی ذکر شده در دیکشنری pragmase عبارتند از: journal_mode ، cache_size ، locking_mode ، Foreign-keys و غیره.
1 2 3 |
>>> db = peewee.SqliteDatabase( 'test.db', pragmas={'journal_mode': 'wal', 'cache_size': 10000,'foreign_keys': 1} ) |
تنظیمات زیر عملگرا برای تعیین ایده آل است –
Pragma | مقدار توصیه شده | معنی |
---|---|---|
journal_mode | wal | به خوانندگان و نویسندگان اجازه می دهد تا با هم حضور داشته باشند |
cache_size | -1 * data_size_kb | اندازه صفحه cache را در KiB تنظیم کنید |
foreign_keys | 1 | محدودیت های کلید خارجی را اعمال می کند |
ignore_check_constraints | 0 | اعمال محدودیت های CHECK |
Synchronous | 0 | به سیستم عامل اجازه می دهد تا fsync را اداره کند |
Peewee همچنین دارای یک Python SQLite Wrapper (apsw) است. این ویژگی های پیشرفته مانند جداول مجازی و سیستم فایل و اتصالات مشترک را ارائه می دهد. APSW سریعتر از ماژول sqlite3 کتابخانه استاندارد است.
دیدگاه شما