A migração e a propagação do Laravel 5.1 não podem truncar uma tabela referenciada em uma restrição de chave estrangeira

Estou tentando executar a migração (veja abaixo) e propagar o banco de dados, mas quando executo

php artisan migrate --seed

Eu recebo este erro:

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`
))

Eu procurei o que esse erro deveria significar e também encontreiexemplos de outras pessoas com o mesmo problema, mesmo relacionadas ao usoMySQL, e suas soluções, mas aplicando:

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

Dentro de down () parece não funcionar e quando eu corro descrever no MySQL, as tabelas parecem corretas.

As migrações são nomeadas corretamente para garantir que a tabela de usuários seja migrada primeiro e, em seguida, veículos para que a chave estrangeira possa ser aplicada, e as tabelas que estão sendo configuradas corretamente sugerem que as migrações foram executadas, mas ocorre o erro. Larguei e recriei o banco de dados e tentei novamente e é o mesmo resultado. Eu também não entendo por que ele está tentando truncar na primeira migração e semente do banco de dados, eu não pensaria que isso ocorreria quando você tentasse executar o 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');
}