Почему у меня при изменения миграции возникла ошибка в laravel 10?
Почему у меня при миграции возникла ошибка в laravel 10? Я создал миграцию в Laravel 10, которая изменяет тип столбца с integer на string в БД.
Но когда я запускаю миграцию, то у меня происходить ошибка.
Whoops\Exception\ErrorException
Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params, $username = null, $password = null, array $driverOptions = []) must be compatible with Doctrine\DBAL\Driver::connect(array $params): Doctrine\DBAL\Driver\Connection
at vendor/laravel/framework/src/Illuminate/Database/PDO/Concerns/ConnectsToDatabase.php:22
18▕ * @return \Illuminate\Database\PDO\Connection
19▕ *
20▕ * @throws \InvalidArgumentException
21▕ */
➜ 22▕ public function connect(array $params, $username = null, $password = null, array $driverOptions = [])
23▕ {
24▕ if (! isset($params['pdo']) || ! $params['pdo'] instanceof PDO) {
25▕ throw new InvalidArgumentException('Laravel requires the "pdo" property to be set and be a PDO instance.');
26▕ }
+1 vendor frames
2 [internal]:0
Whoops\Run::handleShutdown()
Можете подсказать в чем может быть причина.
Прикладываю файл с миграцией
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('baskets', function (Blueprint $table) {
$table->string('id_finance_program')->default(0)->nullable()->after("is_credit")->change();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('baskets', function (Blueprint $table) {
$table->integer('id_finance_program')->default(0)->nullable()->after("is_credit")->change();
});
}
};
Ответы (1 шт):
Автор решения: mydls1
→ Ссылка
Вы можете решить проблему понизив doctrine/dbal to 2.13.1, у вас сейчас скорей всего 3.1.0.
Подробнее решение этой проблемы можете посмотреть здесь