8 پاسخ

مشکل در وارد کردن مایگریشن ها

میخوام مایگریشن هایی که دارم رو اجرا کنم اما خطا میده و دلیلش هم نمیدونم چیه اگه کمک کنید به حلش ممنون میشم :

  Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `shoppingcart` add primary key `shoppingcart_identifier_instance_primary`(`identifier`, `instance`))

  at F:\laravel-project\digikala2\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes")
      F:\laravel-project\digikala2\vendor\laravel\framework\src\Illuminate\Database\Connection.php:458

  2   PDOStatement::execute()
      F:\laravel-project\digikala2\vendor\laravel\framework\src\Illuminate\Database\Connection.php:458

  Please use the argument -v to see more details.

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

    public function up()
    {
        Schema::create(config('cart.database.table'), function (Blueprint $table) {
            $table->string('identifier');
            $table->string('instance');
            $table->longText('content');
            $table->nullableTimestamps();

            $table->primary(['identifier', 'instance']);
        });
    }

ثبت پرسش جدید
mkt
@mkt 5 سال پیش مطرح شد
0

سلام
برو
ProjectName>>app>>providers>>AppServiceProvider.php
کدهای زیر را اظافه کن :

‍‍‍‍‍‍‍‍‍‍‍‍‍‍```php

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


محمدرضا قمی اویلی
تخصص : لاراول
@ghomi 5 سال پیش مطرح شد
0

این خط بر میدارم درست میشه :

 $table->primary(['identifier', 'instance']);

محمدرضا قمی اویلی
تخصص : لاراول
@ghomi 5 سال پیش مطرح شد
0

@kazemimorteza68
قرار دادم اما مشکل حل نشد


mkt
@mkt 5 سال پیش مطرح شد
0

الان هر مایگریشنی اجرا میکنی ارور میده؟


mkt
@mkt 5 سال پیش مطرح شد
0

کدهای این صفحه را قرار میدی؟
AppServiceProvider.php


محمدرضا قمی اویلی
تخصص : لاراول
@ghomi 5 سال پیش مطرح شد
0

کد 191 که قرار نمیدادم مایگریشن های دیگه ام اجرا نمیشدن


mkt
@mkt 5 سال پیش مطرح شد
0

اوکی شد ؟؟


محمدرضا قمی اویلی
تخصص : لاراول
@ghomi 5 سال پیش مطرح شد
0

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


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

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