🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱۰ امیر محمد وثوقی
ارور هنگام استفاده از sqlite
جامعه لاراول ایجاد شده در ۲۵ مرداد ۱۴۰۲

سلام وقتتون بخیر

من در فایل .env.testing این تغیرات را اعمال کردم

DB_CONNECTION=slqite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=:memory:
DB_USERNAME=root
DB_PASSWORD=

و به این ارور برخوردم

   FAILED  Tests\\Feature\\ProductsTest > hompage contains non empty table                          InvalidArgumentException   
  Database connection [slqite] not configured.

این هم از فایل config/database.php

  'sqlite' => [
              'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],
امیر محمد وثوقی ۲۵ مرداد ۱۴۰۲، ۱۲:۱۷

ممکنه دلیلش این باشه که در database/.gitignore

*.sqlite* هستش

امیر محمد وثوقی ۲۵ مرداد ۱۴۰۲، ۱۲:۲۰

سلام امیرحسین عزیز

  • در فایل فایل .env.testing نام درایور رو اشتباه املایی دارید و اصلاح کنید.
  • بجای sqlite نوشتید slqite

سپس تست کنید اگر اوکی نشد موارد زیر رو اادامه بدید:

خیر در گیت ایگنور شما برای قرار دادن در گیت استثنا هارو مشخص میکنید.

طبق تاپیک زیر باید به کانفیگ phpunit خودتون مواردی رو اضافه کنید:

https://laracasts.com/discuss/channels/testing/queryexception-database-testsqlite-does-not-exist

احمدرضا فاطمی کیا ۲۵ مرداد ۱۴۰۲، ۱۶:۳۴

وقتتون بخیر جناب فاطمی کیا

مواردی رو که گفتید رو رعایت کردم اما با این خطا مواجه شدم

   FAILED  Tests\\Feature\\ProductsTest > hompage contains non empty table                                    QueryException   
  could not find driver (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;)
امیر محمد وثوقی ۲۵ مرداد ۱۴۰۲، ۲۰:۴۸

سلام،

با توجه به خطای "could not find driver" باید sqlite را برای PHP نصب کنید.

بعد از نصب میتونید phpinfo() رو ببینید تا از نصب درایور اطمینان پیدا کنید.

محسن موحد ۲۶ مرداد ۱۴۰۲، ۰۶:۳۶

وقتتون بخیر جناب فاطمی کیا

مواردی رو که گفتید رو رعایت کردم اما با این خطا مواجه شدم

   FAILED  Tests\\Feature\\ProductsTest > hompage contains non empty table                                    QueryException   
  could not find driver (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;)
امیر محمد وثوقی ۲۶ مرداد ۱۴۰۲، ۰۷:۴۶

انگار سون لرن هنگام ارسال جواب‌ها اختلال دارد

61f1-Screenshot from 2023-08-17 11-06-58.png

امیر محمد وثوقی ۲۶ مرداد ۱۴۰۲، ۰۷:۴۸

نصب هستش الان راهکار چی هست؟

امیر محمد وثوقی ۲۶ مرداد ۱۴۰۲، ۰۹:۳۱

مقدار DB_DATABASE رو باید آدرس کامل فایل sqlite رو بدید.

دستور php artisan migrate رو هم بزنید بعدش.

مجدد تست کنید.

بهترین پاسخ
احمدرضا فاطمی کیا ۲۶ مرداد ۱۴۰۲، ۱۰:۰۷

سلام جناب فاطمی کیا 


با کلی تلاش بالاخره مشکل رو حل کردم جریان از این قرار بود که نمیدانستم که کجا مقدار DB_DATABASE را ادرس دهی کنم و بالاخره در phpunit.xml مقدار دهی کردم و الان بدون اینکه در دیتابیس تغیری ایجاد بشود از trait RefreshDatabase استفاده میکنم


با تشکر از راهنمایی شما و جناب موحد 

امیر محمد وثوقی ۲۸ مرداد ۱۴۰۲، ۱۲:۰۱