代码之家  ›  专栏  ›  技术社区  ›  Yevgeniy Afanasyev

数据库在使用laravel 5中的--force进行生产时与播种机一起陷入迁移。

  •  2
  • Yevgeniy Afanasyev  · 技术社区  · 7 年前

    数据库在使用laravel中的--force进行生产时被播种机卡住。我对运行AmazoneLinux的LaravelHomestead和EC2AWS也有同样的影响。laravel.log中没有消息。

    它永远不会结束。如果我用 <ctrl>+<c> ,我看到表已创建,但播种机未运行,表为空。

    德塔利斯:

    我的迁移:

    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
    

    我的环境

    #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

    2 回复  |  直到 7 年前
        1
  •  3
  •   Jeemusu    7 年前

    尝试包括 -vvv 标记在迁移命令中,这将增加任何可能发现问题的消息的冗长性。

    --verbose(-v_vv_vvv)增加消息的详细程度:1表示正常输出,2表示更详细输出,3表示调试

    $ php artisan migrate --force

    至于问题本身,尝试包括 --force 在您的 db:seed 调用,因为您已将其包含在迁移中。

    Artisan::call('db:seed', ['--class' => 'ProductsSeeder', '--force' => true,]);

        2
  •  0
  •   antoni    7 年前

    我也有同样的问题 php artisan migrate 什么也没发生,就呆着别动。 --force 或者冗长的话也没用。

    我遇到的问题是 DB_PORT 在.env中没有正确设置。