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),
]);
}
}
- Затем я запустил
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
Работал для меня..