راکت
حل شده

مشکل جدید migrate در لاراول

4 پاسخ

سلام خسته نباشید
توی استفاده از migrate به ارور زیر برخوردم.
 تصویر
برای حلش توی فایل app\Providers\AppServiceProvider.php کد زیر اضافه کردم.

use Illuminate\Support\Facades\Schema;
  public function boot()
    {
        Schema::defaultStringLength(191);
    }

میشه کسی لطف کنه مشکل توضیح بده؟ و چرا این مشکل به وجود اومده بود؟

ثبت پرسش جدید

پاسخ‌ها

4
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

سلام
متن ارور بصورت مشخص داره میگه:
Table "migrations" already exists

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

مشخص ترین راهکارش این هست که با استفاده از دستور زیر یکبار کل دیتابیس رو خالی کنید و بعد مجدد migration هاتون رو اجرا کنید:

php artisan db:wipe
php artisan migrate

یا دستور زیر که خلاصه دو دستور بالا با هم هست:

php artisan migrate:fresh

چیزی هم که به AppServiceProvider اضافه کردید مربوط به یک ارور دیگه هست و ربطی به این مورد نداره. ضمن اینکه اگر از نسخه های جدید لاراول استفاده می‌کنید این مسئله برطرف شده و نیازی به اضافه کردن این مورد هم نیست اصلا.

محمد
محمد
@Mohammad79

تخصص: همیشه در حال یادگیری ...

ممنون از توضیحات کاملتون

محمد
محمد
@Mohammad79

تخصص: همیشه در حال یادگیری ...

این اررو دوباره توی یه پروژه دیگه برام پیش اومد همین دستورات شمارو اجرا کردم ولی مشکلو حل نکرد
@mhyeganeh

شاید پاسخ شما همین‌جا باشد

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

مطمئنید متن ارورش مثل همین بود؟

اگر آره احتمالا در migration هاتون عنوان جدول تکراری دارید. چون متن ارور داره میگه که فلان جدولی که میگی بسازم قبلا تو دیتابیس وجود داره و نمیتونم دوباره با همون نام یکی دیگه ایجاد کنم.

مطمئن بشید که دیتابیستون خالی باشه. بعد چک کنید که نام‌گذاری جداولتون در فایل های migration تکراری نداشته باشه. و بعد مجددا دستور migrate رو اجرا کنید.

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

ورود یا ثبت‌نام