Laravel 5.1 Migración y siembra No se puede truncar una tabla referenciada en una restricción de clave externa

Estoy tratando de ejecutar la migración (ver más abajo) y sembrar la base de datos, pero cuando ejecuto

php artisan migrate --seed

Me sale este error:

Migration table created successfully.
Migrated: 2015_06_17_100000_create_users_table
Migrated: 2015_06_17_200000_create_password_resets_table
Migrated: 2015_06_17_300000_create_vehicles_table

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a table
referenced in a foreign key constraint (`app`.`vehicles`, CONSTRAINT `vehic
les_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `app`.`users` (`id`
)) (SQL: truncate `users`)

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a table
referenced in a foreign key constraint (`app`.`vehicles`, CONSTRAINT `vehic
les_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `app`.`users` (`id`
))

Busqué lo que se supone que significa este error, y también encontréejemplos de otras personas que se encuentran con el mismo problema, incluso solo relacionadas con el usoMySQL, y sus soluciones, pero aplicando:

DB::statement('SET FOREIGN_KEY_CHECKS=0;'); and 
DB::statement('SET FOREIGN_KEY_CHECKS=1;'); 

Dentro de down () no parece funcionar y cuando ejecuto describe en MySQL las tablas se ven bien.

Las migraciones se nombran correctamente para asegurarse de que la tabla de usuarios se migre primero, y luego los vehículos para que se pueda aplicar la clave externa, y las tablas que se configuran correctamente sugieren que las migraciones se ejecutaron, pero luego se produce el error. Dejé caer y recreé el DB y lo intenté nuevamente y es el mismo resultado. Tampoco entiendo por qué intenta truncar en la primera migración y semilla de la base de datos, no hubiera pensado que eso ocurriría cuando intentara ejecutar php artisan migrate: refresh --seed.

// 2015_06_17_100000_create_users_table.php

class CreateUsersTable extends Migration
{
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('username', 60)->unique();
            $table->string('email', 200)->unique();
            $table->string('password', 255);
            $table->string('role')->default('user');
            $table->rememberToken();
            $table->timestamps();
        });
    }
}

public function down()
{
    Schema::drop('users');
}

// 2015_06_17_300000_create_vehicles_table.php

class CreateVehiclesTable extends Migration
{
    public function up()
    {
        Schema::create('vehicles', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->string('make');
            $table->string('model');
            $table->string('year');
            $table->string('color');
            $table->string('plate');
            $table->timestamps();

            $table->foreign('user_id')->references('id')->on('users');
        });
    }
}

public function down()
{
    Schema::drop('vehicles');
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta