<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;

class DatabaseSeeder extends Seeder
{
    // Your tables to truncate
    protected $toTruncate = ['user'];

    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        // This is a simple strategy for truncate your database.
        
        // Disabled massive assignament restriction
        Model::unguard();
        // Disable foreign key check for this connection before running seeders
        Schema::disableForeignKeyConstraints();

        // Note: truncate strategy failed with SQL Server (and others).
        foreach($this->toTruncate as $table) {
            DB::table($table)->delete();
        }
        
        /**
        * Your factories exections.
        * For example:
        * ************
        *
        * factory(User::class, 1000)->create();
        *
        */

        // Enable constraints
        Schema::enableForeignKeyConstraints();
        // Enable massive assignament restriction
        Model::reguard();
    }
}