 Laravel по-русски
Laravel по-русски
      
      
    Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1

Здравствуйте,
Прохожу обучающий курс по 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. Как бы не закрыть.
Не в сети
у вас чушь какая-то в composer.json
он должен быть примерно такой
https://github.com/laravel/laravel/blob … poser.json
Изменено vladislavTkachenko (05.08.2021 08:56:09)
Не в сети

Я устанавливал 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. Как бы не закрыть.
Не в сети
удалите свою строку с версией 3.0 и выполните composer require doctrine/dbal
Не в сети

Удалил свою строку.
После выполнения
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. Как бы не закрыть.
Не в сети
 Писарь
Писарь						
Ну не должно быть ошибки при соединении с БД. проект вообще работает с базой кроме этой миграции?
Попробуй установить все компоненты заново: удали папку 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.
Не в сети

Да конечно проект работает. Другие миграции по добавлению полей работают без проблем.
А миграция с переименовыванием полей в таблице выдает ошибку.
Причем в интернете такая ошибка при переименовывании много у кого возникает, но я не смог ее победить с помощью гугла.
Открываю для себя Laravel. Как бы не закрыть.
Не в сети
а use прописаны ?
Не в сети

Я к сожалению не знаю, что это и где прописывать 
Открываю для себя Laravel. Как бы не закрыть.
Не в сети
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeFieldMessagesTables extends Migration { ... }Не в сети

Да вот три штуки сверху
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;Открываю для себя Laravel. Как бы не закрыть.
Не в сети
похоже что у вас какая-то дичь просто) разверните с нуля проект.
Не в сети

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

Подсказали решение на другом сайте:
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. Как бы не закрыть.
Не в сети
Страницы 1