ایجاد دیتابیس Mysql جدا جهت تست در لاراول

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

قبل از شروع مشخصات سیستمی که کد های زیر بر روی آن کار می کند و شما شاهد نمونه کدهای آن هستید به این شرح است:

سیستم عامل:10.15.7 mac os

پی اچ پی : 7.4.10

لاراول :8.11.2

مراحل را قدم به قدم جلو می رویم:

مرحله ۱ :

در مسیر config/database.php کدهای جدیدی را برای محیط تست ایحاد می کنیم ( از قسمت شروع تا پایان)

1234567891011121314151617181920212223242526272829303132333435363738
'connections' => [
'sqlite_testing_db' => [
'driver' => 'sqlite',
'database' => storage_path().'/testing_database.sqlite',
'prefix' => '',
],

/**************** شروع ******************/

'testing_db' => [
'driver' => 'mysql',
'host' => env('TEST_DB_HOST', 'localhost'),
'database' => env('TEST_DB_DATABASE', 'forge'),
'username' => env('TEST_DB_USERNAME', 'forge'),
'password' => env('TEST_DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
/**************** پایان ******************/

/** Production or database DB **/
'db' => [
'driver' => 'mysql',
'host' => env('TEST_DB_HOST', 'localhost'),
'database' => env('TEST_DB_DATABASE', 'forge'),
'username' => env('TEST_DB_USERNAME', 'forge'),
'password' => env('TEST_DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],
];

مرحله ۲:

در فایل .env کد های زیر را اضافه کنید ( البته نام کاربری و کلمه عبور mysql خود را قرار دهید و دقت کنید که نام دیتا بیس تست را هم درست قرار دهید و قبلا آن را ایجاد کرده باشید.)

1234TEST_DB_HOST=localhost
TEST_DB_DATABASE=laravel
TEST_DB_USERNAME=root
TEST_DB_PASSWORD=root

مرحله ۳:

در فایل phpunit.xml کد زیر را اضافه کنید:( بین شروع و پایان)

123456<server name=&quotCACHE_DRIVER&quot value=&quotarray&quot/>

/**************** شروع ******************/
<env name=&quotDB_CONNECTION&quot value=&quottesting_db&quot/>
/**************** پایان ******************/
<!-- <server name=&quotDB_CONNECTION&quot value=&quotsqlite&quot/> -->

مرحله ۴ :

کد artisan زیر را اجرا کنید تا دیتا بیس شما آماده شود

1php artisan migrate --database=testing_db

از دفعات دیگر دیتا بیس شما جهت تست از دیتا بیس اصلی شما جدا است. فقط دقت کنید برای ایجاد یا refresh کردن دیتا بیس باید از flag آن یعنی database=testing_db استفاده کنید.

در نهایت هم دستور زیر را برای بروز شدن تنظیمات استفاده کنید:

1php artisan optimize:clear


این مقاله خلاصه مقاله ای می باشد که من از آن استفاده کرده ام: https://bit.ly/3kPXFWw

تصویر مورد استفاده قرار گرفته از : https://bit.ly/3mBysj2

نویسنده مطلب: علی اصغر صنیعی فر

منبع مطلب

ممکن است شما دوست داشته باشید
ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.