Laravel по-русски

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

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

#1 16.02.2021 00:01:35

Миграции

Ребят, я только знакомлюсь с ларавел. Пробовал найти решение проблемы на просторах интернета но не выходит.
Дело в том что я создал базу и модель: php artisan make:model Contact -m

Содержимое модели:

<?php

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

class CreateContactsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('contacts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('email');
            $table->string('subject');
            $table->text('message');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('contacts');
    }
}

дальше выполняю миграцию: php artisan migrate

здесь получаю кучу ошибок:

Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations)

  at /Users/serega/Sites/laravel.dev/lara/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[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)")
      /Users/serega/Sites/laravel.dev/lara/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

  2   PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=laravel", "root", "root", [])
      /Users/serega/Sites/laravel.dev/lara/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

  Please use the argument -v to see more details.

Пробую выполнить миграцию с -v и получаю следующее:

Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations)

  at /Users/serega/Sites/laravel.dev/lara/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:
.... далее еще 32 строки с ошибками

любая команда с вязаная с миграцией выдает сначала Please use the argument -v to see more details. потом снова та-же ошибка что предоставил выше.
Как это исправить?

Не в сети

#2 16.02.2021 07:40:20

Re: Миграции

Подключение к БД настроил?

Не в сети

#3 16.02.2021 09:00:53

Re: Миграции

Да, в env настройки прописаны. Но вот что нашел. На другом проекте (не ларавел) подключение к базе происходит, без проблем. Но вот через DBeaver подключиться к базе не возможно, хотя ранее подключался. Так же при входе phpMyAdmin перестало просить ввода пароля (использую MAMP). Вообще страница авторизации не появляется:/

Я так понимаю вся причина не выполнения миграций кроется где-то здесь.

Не в сети

#4 16.02.2021 09:04:49

Re: Миграции

Привилегии для пользователя указаны PhpMyAdmin?
А ты работаешь на MacOS?

Изменено Morry (16.02.2021 09:05:46)

Не в сети

#5 16.02.2021 10:08:43

Re: Миграции

Да, на MacOS. Пользователя по умолчанию использую root с таким же паролем

Не в сети

#6 16.02.2021 10:09:54

Re: Миграции

В файл /config/database.php добавь команду

'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',

Или в файл .env

DB_SOCKET='/Applications/MAMP/tmp/mysql/mysql.sock'

После переноса сайта на хостинг эту строку нужно обязательно удалить

Не в сети

#7 16.02.2021 13:01:27

Re: Миграции

Отлично! Это сработало. Спасибо!

Это особеность только на маке?

Не в сети

#8 16.02.2021 13:05:04

Re: Миграции

Да, при использовании MAMP. В винде, даже при исполььзовании МАМР такого нету Я в свое время кучу времени потратил, пока раздуплился smile
Плюсик не забудь поставить smile

Не в сети

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