Как в миграции очистить таблицу в laravel?

Пользователь

от adrien.waters , в категории: PHP , 8 месяцев назад

Как в миграции очистить таблицу в laravel?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от willis.streich , 8 месяцев назад

@adrien.waters 

В Laravel вы можете использовать метод truncate модели, чтобы очистить таблицу.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class YourMigrationName extends Migration
{
    public function up()
    {
        Schema::create('table_name', function (Blueprint $table) {
            // ...
        });
    }

    public function down()
    {
        Schema::dropIfExists('table_name');
    }
}


В методе up вы создаете схему таблицы, а в методе down вы удаляете таблицу. Чтобы очистить таблицу, вы можете использовать метод truncate:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;
use IlluminateSupportFacadesDB;

class YourMigrationName extends Migration
{
    public function up()
    {
        Schema::create('table_name', function (Blueprint $table) {
            // ...
        });

        DB::table('table_name')->truncate();
    }

    public function down()
    {
        Schema::dropIfExists('table_name');
    }
}


Обратите внимание, что метод truncate удаляет все данные в таблице без возможности восстановления, поэтому используйте его осторожно.