Laravel 5: php artisan migrate:обновить

Я работаю над проектом laravel, и каждый раз, когда я меняю свою таблицу (добавляю или удаляю столбец) и запускаю php artisan migrate:refresh. Я получаю эту ошибку:

[Symfony\Component\Debug\Exception\FatalErrorException] Невозможно использовать возвращаемое значение метода в контексте записи

Решение попробовал:

  1. запустить composer dump-autoload (сбой)
  2. Удалите таблицу в базе данных, удалите файл миграции и снова перезапустите (работает)

Предыдущий файл миграции:

<?php

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

class CreateCommentsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('comments', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('post_id');
            $table->string('body');
            $table->timestamps();
        });
    }

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

Измененный файл миграции:

    <?php

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

class CreateCommentsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('comments', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id');
            $table->integer('post_id');
            $table->string('body');
            $table->timestamps();
        });
    }

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

Я добавил user_id в файл изменений в функции up


person mushood badulla    schedule 04.02.2017    source источник
comment
Кажется, у вас проблема с кодом миграции. Можете ли вы опубликовать содержимое файла миграции?   -  person ubuntus    schedule 04.02.2017
comment
готово :) Спасибо за помощь   -  person mushood badulla    schedule 04.02.2017
comment
Можете ли вы добавить тег версии Laravel к своему вопросу @mushoodbadulla?   -  person Oluwatobi Samuel Omisakin    schedule 09.01.2019


Ответы (2)


Попробуйте эту команду, у меня работает

php artisan migrate:fresh

Однако будьте осторожны! Эта команда удалит все данные из вашей БД:

Примечание. Команда migrate:fresh удалит все таблицы из базы данных, а затем выполнит команду migrate.

согласно документации Laravel.

person NomanJaved    schedule 06.01.2018

попробуй эту команду

php artisan make:migration add_user_id_to_comments_table --table=comments

это создаст новый файл миграции, затем

$table->integer('user_id')->after('id');

затем используйте

php artisan migrate
person Prathamesh Doke    schedule 11.10.2018