Laravel 5.3 db: команда seed просто не работает
Я делаю все по книге:
Установлено свежее приложение Laravel 5.3.9 (все мои не свежие приложения выдают одну и ту же ошибку)
бежать
php artisan make:auth
создать миграции для новой таблицы `php artisan make: миграция 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;
в исходный файл - до сих пор нет результата.
сделать
Помогите!!! Почему они не работают?
3 ответа
Вы звоните своей сеялке внутри 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
Если у кого-то еще есть проблемы с миграцией и посевом одновременно, попробуйте
php artisan migrate:fresh --seed
Работал на меня..
В моем случае (mariaDB) Проверьте свою автоматическую фиксацию.mariaDB/data/my.ini <= здесь Включите автофиксацию