Как удалить только 1 таблицу с помощью Schema Builder & Migration в Laravel 6? - PullRequest
1 голос
/ 07 января 2020

Допустим, у меня есть 4 таблицы в моей базе данных, и я хочу удалить эту таблицу только с помощью миграции.

2019_11_27_093224_create_objects_table. php* \

class CreateObjectsTable extends Migration
{
    public function up()
    {
        Schema::create('objects', function (Blueprint $table) {
            $table->bigIncrements('id_object', 'KO0');
            $table->string('nama_layanan');
            $table->string('tipe_object');
            $table->timestamps();
        });
    }

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

Могу ли я удалить эту таблицу в одиночку или мне нужно стереть все мои таблицы в моей базе данных?

Ответы [ 2 ]

0 голосов
/ 07 января 2020

Это очень легко. Вы просто создаете новую миграцию, чтобы развернуть выше миграцию

php artisan make:migration drop_objects_table.

class DropObjectsTable extends Migration
{
    public function up()
    {
        Schema::dropIfExists('objects');
    }

    public function down()
    {
        Schema::create('objects', function (Blueprint $table) {
            $table->bigIncrements('id_object', 'KO0');
            $table->string('nama_layanan');
            $table->string('tipe_object');
            $table->timestamps();
        });
    }
}

Laravel поддерживает создание таблицы миграции в вашей базе данных, в этой таблице есть идентификатор, имя_ миграции, шаг миграции при запуске команды. Вы можете выполнить откат на 1 или несколько шагов в таблице миграции. Вы можете прочитать в до c

0 голосов
/ 07 января 2020

Лучший способ сделать это - использовать phpmyadmin и сбросить таблицу вручную. Конечно, если при повторном запуске миграции миграция еще не завершена, таблица будет создана заново.

Если вы не хотите заново создавать / переносить таблицу, просто удалите ее в / database / migrations

...