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

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

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

  2. бежать php artisan make:auth

  3. создать миграции для новой таблицы
    `php ремесленник make: миграция create_quotations_table —create = цитаты

    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();
    });
    
  4. Тогда я бегу php artisan migrate

  5. Затем я определяю новое семя 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; в исходный файл — до сих пор нет результата.

сделать

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

15

Решение

Вы звоните своей сеялке внутри 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
38

Другие решения

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

php artisan migrate:fresh --seed

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

0

По вопросам рекламы [email protected]