Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.08.2021 08:46:31

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Ошибка при переименовывании столбцов

Здравствуйте,

Прохожу обучающий курс по Laravel и застрял на переименовывании столбцов таблицы.

При выполнении миграции:

php artisan migrate --path=database/migrations/messages

Выдает:

Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found

Прочитал, что требуется doctrine/dbal

Я зашел в файл composer.json и дописал в нем строку

"require": {
        "php": ">=5.6.4",
        "laravel/framework": "5.4.*",
        "laravel/tinker": "~1.0",
        "doctrine/dbal": "^3.0"
    },

Далее запустил в терминале команду composer update

Но данные манипуляции все равно не устранили ошибку.

Подскажите, где я что упускаю?


Открываю для себя Laravel. Как бы не закрыть.

Не в сети

#2 05.08.2021 08:55:28

Re: Ошибка при переименовывании столбцов

у вас чушь какая-то в composer.json
он должен быть примерно такой
https://github.com/laravel/laravel/blob … poser.json

Изменено vladislavTkachenko (05.08.2021 08:56:09)

Не в сети

#3 05.08.2021 09:13:42

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Re: Ошибка при переименовывании столбцов

Я устанавливал Laravel через Composer.

Вот полностью мой файл с одной добавленной строчкой:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.6.4",
        "laravel/framework": "5.4.*",
        "laravel/tinker": "~1.0",
        "doctrine/dbal": "^3.0"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~5.7"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

Открываю для себя Laravel. Как бы не закрыть.

Не в сети

#4 05.08.2021 09:55:00

Re: Ошибка при переименовывании столбцов

удалите свою строку с версией 3.0 и выполните composer require doctrine/dbal

Не в сети

#5 05.08.2021 14:54:51

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Re: Ошибка при переименовывании столбцов

Удалил свою строку.

После выполнения

composer require doctrine/dbal

в файле composer.json добавилась строка

"doctrine/dbal": "^3.1",

Пытаюсь сделать миграцию и опять та же ошибка

In MySqlConnection.php line 65:

  Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found

Вот содержания файла миграции:

<?php

class ChangeFieldMessagesTables extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('messages', function (Blueprint $table) {
            $table->renameColumn('username', 'name');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('messages', function (Blueprint $table) {
            //$table->renameColumn('name', 'login');
        });
    }
}

Открываю для себя Laravel. Как бы не закрыть.

Не в сети

#6 05.08.2021 15:44:13

Re: Ошибка при переименовывании столбцов

Ну не должно быть ошибки при соединении с БД. проект вообще работает с базой кроме этой миграции?
Попробуй установить все компоненты заново: удали папку vendors и файл composer.lock, затем сделай composer install. Должно пройти без ошибок.

Изменено artoodetoo (05.08.2021 15:45:16)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#7 05.08.2021 16:00:03

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Re: Ошибка при переименовывании столбцов

Да конечно проект работает. Другие миграции по добавлению полей работают без проблем.
А миграция с переименовыванием полей в таблице выдает ошибку.

Причем в интернете такая ошибка при переименовывании много у кого возникает, но я не смог ее победить с помощью гугла.


Открываю для себя Laravel. Как бы не закрыть.

Не в сети

#8 06.08.2021 09:45:10

Re: Ошибка при переименовывании столбцов

а use прописаны ?

Не в сети

#9 06.08.2021 09:59:13

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Re: Ошибка при переименовывании столбцов

Я к сожалению не знаю, что это и где прописывать neutral


Открываю для себя Laravel. Как бы не закрыть.

Не в сети

#10 06.08.2021 10:49:12

Re: Ошибка при переименовывании столбцов

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class ChangeFieldMessagesTables extends Migration { ... }

Не в сети

#11 06.08.2021 15:00:42

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Re: Ошибка при переименовывании столбцов

Да вот три штуки сверху

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

Открываю для себя Laravel. Как бы не закрыть.

Не в сети

#12 06.08.2021 22:16:51

Re: Ошибка при переименовывании столбцов

похоже что у вас какая-то дичь просто) разверните с нуля проект.

Не в сети

#13 07.08.2021 06:07:53

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Re: Ошибка при переименовывании столбцов

Всегда есть объяснение ошибке. Надо разобраться.
Мб я предоставил мало информации?


Открываю для себя Laravel. Как бы не закрыть.

Не в сети

#14 08.08.2021 10:22:13

Mick_20
Откуда: Кемерово
Сообщений: 39
Сайт

Re: Ошибка при переименовывании столбцов

Подсказали решение на другом сайте:

your problem because your doctirne/dbal: v3 , try to downgrade to v2 , like this :- doctrine/dbal": "^2.12" this issue related with your problem :- https://github.com/doctrine/dbal/issues/4439

ошибка исчезла. все работает теперь.


Открываю для себя Laravel. Как бы не закрыть.

Не в сети

Подвал раздела