@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 не сработает, если таблица имеет внешние ключи или связанные записи.