فصل سوم: شروع واقعی با دیتابیس

پیکربندی دیتابیس

حالا که مبنای پیکربندی در لاراول را آموخته‌اید، وقت آن رسیده که واقعاً سراغ دیتابیس برویم.

پیش از شروع، یک دیتابیس (مثلا با عنوان apollo) در سرور محلی خود بسازید و اطلاعات لازم برای وصل شدن به mySql را دم دست داشته باشید که در این درس لازم خواهد شد.

ساختار پیکربندی

تصور می‌کنم دیگر لازم به یادآوری نباشد که برای دست‌یابی به پیکربندی دیتابیس در لاراول، می‌بایست به سراغ پوشه‌ی config بروید و فایل database را پیدا کنید و بگشایید.

همچنین شما دیگر باید بتوانید با نگاهی به این فایل پیکربندی، بدانید که چرا برخی از گزینه‌ها مقداردهی صریح دارند و برخی دیگر از تابع ()env استفاده کرده‌اند.

انتخاب نوع دیتابیس

نخستین گزینه‌ی قابل تنظیم این فایل، که با عنوان default مشخص شده، گزینه‌ای است که در آن دیتابیس پیش‌فرض خود را انتخاب می‌کنید.

Laravel Database Configuation

بله! لاراول، به صورت پیش‌فرض، از چهار دیتابیس مختلف پشتیبانی می‌کند:

  • MySql
  • PostgreSQL
  • SQLite
  • SQL Server

معنای این امر آن است که کد برنامه‌ای که در لاراول نوشته‌اید، می‌تواند بدون تغییر در هر یک از این دیتابیس‌ها به‌خوبی کار کند.

تنظیمات اتصال

چهار گزینه‌ی بعدی این فایل پیکربندی، چهار آرایه است که هر کدام تنظیمات مخصوص یکی از این انواع دیتابیس‌ها را تعیین می‌کند.

برای شروع، می‌توانید اطلاعات دیتابیس خود را در آرایه‌ی مربوط به MySql وارد کنید و با تخصیص همین دیتابیس به عنوان default، بقیه را به حال خود بگذارید.

طبیعتاً فکر خوبی است که از پیکربندی محیطی برای تنظیمات دیتابیس استفاده کنیم، چرا که هر کدام از اعضای تیم ممکن است از نام کاربری و رمز عبور متفاوتی برای اتصال به دیتابیس محلی خود استفاده کنند و احتمال خیلی زیادی وجود دارد که همه‌ی مشخصات این دیتابیس‌های آزمایشی، با دیتابیس واقعی و نهایی روی سرور متفاوت باشند.

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

استفاده از Redis

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

استفاده از Redis محدود به لاراول و حتی زبان پی‌اچ‌پی نیست. کتابخانه‌ی ردیس ده‌ها زبان برنامه‌نویسی دیگر، از سی و سی‌پلاس‌پلاس گرفته تا زبان‌های نوینی همچون پایتون و گو را مورد پشتیبانی قرار می‌دهد.

لاراول، استفاده از Redis را ساده کرده و راه‌اندازی آن در برنامه، تنها به وارد کردن اطلاعات هاست در این فایل پیکربندی نیاز دارد و بس!

Laravel Database Configuation

مایگرشن‌ها

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

گزینه‌ای که با عنوان migrations در فایل پیکربندی دیتابیس می‌بینید، نام جدول مورد استفاده برای این کار را تعیین می‌کند.

Laravel Database Configuation

اجازه بدهید به همین شکلی که هست، بماند.

جان کلام

در این درس...

  • آموختیم که لاراول، به صورت پیش‌فرض، می‌تواند با چهار نوع دیتابیس مختلف ارتباط برقرار کند، بدون این که لازم باشد کدهای متفاوت برای این دیتابیس‌های مختلف بنویسیم.
  • دانستیم که لاراول برای کش کردن داده‌های ما در دیتابیس، می‌تواند از ابزارهایی مانند ردیس استفاده کند و برای این کار لازم نیست نگران چیزی باشیم. خودش ترتیب همه‌ی امور را می‌دهد.
  • و با عبارت مایگریشن آشنا شدیم که دو درس بعدی این کتاب را به درک مفهوم و نحوه‌ی طراحی دیتابیس با آن خواهیم پرداخت.