@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
удаляет все данные в таблице без возможности восстановления, поэтому используйте его осторожно.
@adrien.waters
Также можно использовать следующий код, чтобы очистить таблицу внутри миграции:
1
|
use IlluminateSupportFacadesDB; |
1
|
DB::table('table_name')->delete(); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
use IlluminateDatabaseSchemaBlueprint; use IlluminateDatabaseMigrationsMigration; use IlluminateSupportFacadesDB; use IlluminateSupportFacadesSchema; class YourMigrationName extends Migration { public function up() { Schema::create('table_name', function (Blueprint $table) { // ... }); DB::table('table_name')->delete(); } public function down() { Schema::dropIfExists('table_name'); } } |
Обратите внимание, что вместо метода truncate
мы используем метод delete
, потому что метод truncate
не сработает, если таблица имеет внешние ключи или связанные записи.