php artisan migrate ничего не делает - PullRequest
0 голосов
/ 04 сентября 2018

Я установил Laravel 5 и Valet (v2.0.12), используя Homebrew на моем Macbook Pro (работает High Sierra (10.13.6)). Я скачал чистый проект Laravel (laravel new blog).

Когда я пытаюсь выполнить миграцию (сидя в папке проекта, затем используя php artisan migrate), ничего не происходит. Терминал просто сидит и ничего не делает. Команда выполняется, но потом ничего. Нет ошибок, нет успеха, ничего. Даже добавление -v ничего не дает.

Я могу попасть на сервер через командную строку. Я ввел правильные учетные данные в файле .env. Я даже могу запускать другие команды php artisan, но все команды migrate ничего не делают.

Мои файлы миграции:

2018_09_04_100609_create_users_table.php

<?php

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

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

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

2018_09_04_100659_create_password-resets_table.php

<?php

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

class CreatePasswordResetsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('password_resets', function (Blueprint $table) {
            $table->string('email')->index();
            $table->string('token');
            $table->timestamp('created_at')->nullable();
        });
    }

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

Обновление:

Проверено соединение с БД с использованием следующего:

try {
    DB::connection();
    die("success!");
} catch (\Exception $e) {
    die("Could not connect to the database.  Please check your configuration. error:" . $e );
}

Я получил «успех!».

Но затем я изменяю DB::connection() на DB::connection()->getPdo(), он снова ничего не делает. Или это не актуально?

1 Ответ

0 голосов
/ 04 сентября 2018

Я исправил это. Я бы добавил много восклицательных знаков после этого, но мне это не нравится. Почему?

Потому что проблема была в том, что я использовал MySQL, а мне следовало использовать MariaDB. Руководство нигде не упоминало об этом, поэтому я предположил, что MySQL достаточно. Очевидно нет. Было бы неплохо, если бы ошибка показала что-то подобное ...

...