数据库在Laravel中使用--force生产的播种机停滞不前。我在Laravel Homestead和运行Amazone linux的EC2 AWS上的效果相同。 laravel.log中没有消息。
它永远不会结束。如果我用<ctrl>+<c>
暂停它,我会看到表已创建,但播放器没有运行,表是空的。
Detalis:
我的迁移:
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 50);
$table->decimal('price', 8, 2); //up to 999,999.99
});
Artisan::call('db:seed', ['--class' => 'ProductsSeeder']);
}
我称之为:
$ php artisan migrate --force
我的.env
#APP_ENV=local
APP_DEBUG=false
数据库种子。
class ProductsSeeder extends Seeder
{
public function run()
{
DB::table('products')->insert([
'id' => 1,
'name' => 'super product',
'price' => 999.99,
]);
}
经过测试的Laravel 5.6
答案 0 :(得分:3)
尝试在迁移命令中包含-vvv
标志,这会增加任何消息的详细程度,这可能会发现问题。
- verbose(-v | vv | vvv)增加消息的详细程度:1表示正常输出,2表示更详细的输出,3表示调试
$ php artisan migrate --force
至于问题本身,请尝试在--force
调用中加入db:seed
标记,因为您已将其包含在迁移中。
Artisan::call('db:seed', ['--class' => 'ProductsSeeder', '--force' => true,]);
答案 1 :(得分:0)
我在运行php artisan migrate
时遇到了同样的问题,但是什么也没发生,一直停滞不前。
--force
或冗长的内容将无济于事。
我遇到的问题是.env中的DB_PORT
设置不正确。