Laravel 5.3 db: команда seed просто не работает

Я делаю все по книгам:

  • Установлено новое приложение Laravel 5.3.9 (все мои свежие приложения вызывают ту же ошибку)

  • run php artisan make:auth

  • создать миграцию для новой таблицы `php artisan make: migration create_quotations_table --create = quotations

    Schema::create('quotations', function (Blueprint $table) {
        $table->increments('id');
    
        $table->string('text');
    
        // my problem persists even with the below two columns commented out
        $table->integer('creator_id')->unsigned()->index('creator_id');
        $table->integer('updater_id')->unsigned()->index('updater_id');
    
        $table->softDeletes();
        $table->timestamps();
    });
    
  • Затем я запускаю php artisan migrate

  • Затем я определяю новое семя php artisan make:seeder QuotationsTableSeeder

Полное содержимое файла после добавления простой вставки:

<?php

use Illuminate\Database\Seeder;

class QuotationsTableSeeder extends Seeder
{
/**
 * Run the database seeds.
 *
 * @return void
 */
public function run()
{
    DB::table('quotations')->insert([
        'text' => str_random(10),

    ]);
}
}
  1. Затем я запустил php artisan db:seed

Проблема

он просто не работает. Никакой обратной связи не было, ошибок в файле журнала. Вероятность сохраняется в моей локальной среде (Win7, новейший сервер WAMP) и мой Digital Ocean VPS от Ubuntu 16.04. Все вышеперечисленные шаги я взял в нескольких отдельных приложениях - безрезультатно. Также под сервером Laragon 2.0.5.

то, что я пробовал

php artisan optimize как предлагается здесь.

composer dump-autoload я php artisan clear-compiled также не принесли результатов

Я также попытался засеять только после официального примера документов - не удалось.

Я добавил use DB; в файл семени - все равно никакого результата.

выполнить

помогите!!! Почему они не работают?

Ответ 1

Вы называете свою сеялку внутри класса DatabaseSeeder? Сюда:

базы данных/семена /DatabaseSeeder.php

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $this->call(QuotationTableSeeder::class);
    }
}

Или добавьте --class при использовании команды php artisan db:seed, следующим образом:

php artisan db:seed --class="QuotationTableSeeder"

После создания или удаления сеялок не забудьте запустить следующую команду:

composer dump-autoload

Ответ 2

Если у кого-либо еще есть проблемы с миграцией и посещением одновременно, попробуйте

php artisan migrate:fresh --seed

Работал для меня..