Обновление базы данных Laravel 8: добавление нового столбца в существующую таблицу

Привет! Итак, вы хотите узнать, как добавить новый столбец в существующую таблицу в Laravel 8? Замечательно! В этой статье блога мы рассмотрим несколько методов выполнения этой задачи, используя разговорный язык и примеры кода. Итак, начнем!

Метод 1: использование миграции Laravel
Один из наиболее распространенных и рекомендуемых способов добавления столбца в существующую таблицу в Laravel 8 — использование миграции базы данных. Миграции позволяют вам изменять схему базы данных и отслеживать изменения с течением времени. Вот пример добавления столбца с помощью миграции:

php artisan make:migration add_column_to_table --table=existing_table

Эта команда создаст новый файл миграции в каталоге database/migrations. Откройте сгенерированный файл и добавьте в метод up()следующий код:

public function up()
{
    Schema::table('existing_table', function (Blueprint $table) {
        $table->string('new_column');
    });
}

Наконец, запустите миграцию:

php artisan migrate

Метод 2: использование Laravel Schema Builder
Если вы предпочитаете более гибкий подход или вам необходимо выполнить дополнительные операции наряду с добавлением столбца, вы можете напрямую использовать Laravel Schema Builder. Вот пример:

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddColumnToTable extends Migration
{
    public function up()
    {
        Schema::table('existing_table', function (Blueprint $table) {
            $table->string('new_column')->after('existing_column');
        });
    }
}

Не забудьте запустить миграцию с помощью php artisan migrateпосле реализации метода up().

Метод 3. Непосредственное изменение схемы таблицы
Альтернативный метод — изменить схему таблицы непосредственно с помощью инструмента управления базой данных. Однако важно отметить, что этот подход обходит систему миграции Laravel и может затруднить отслеживание изменений. Используйте его осторожно и только при необходимости.

После того как вы внесли необходимые изменения с помощью инструмента управления базой данных, вы можете обновить соответствующие свойства модели $fillableили $guarded, включив в них новый столбец. Это гарантирует, что вы сможете использовать новый столбец с Laravel Eloquent.

Вот и все! Теперь у вас есть три разных метода добавления столбца в существующую таблицу в Laravel 8. Выберите тот, который лучше всего соответствует вашим потребностям.