РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
344 of 1392 menu

Метод up

Метод up является обязательной частью любой миграции в Laravel. Он выполняется при запуске миграции и определяет изменения, которые должны быть применены к базе данных. Внутри этого метода определяется схема таблицы с помощью фасада Schema.

Синтаксис

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('table_name', function (Blueprint $table) { $table->id(); $table->string('column_name'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('table_name'); } } ?>

Пример

Давайте создадим миграцию для таблицы users с полями id, name, email и временными метками:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); } } ?>

Результат выполнения команды:

"Migration table created successfully."

Пример

Давайте изменим существующую таблицу, добавив новое поле age с использованием метода table:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class AddAgeToUsersTable extends Migration { public function up() { Schema::table('users', function (Blueprint $table) { $table->integer('age')->nullable(); }); } public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('age'); }); } } ?>

Результат выполнения команды:

"Column added successfully."

Пример

Давайте создадим таблицу с внешним ключом, связывающую таблицы posts и users:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreatePostsTable extends Migration { public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('content'); $table->foreignId('user_id')->constrained(); $table->boolean('is_published')->default(false); $table->timestamps(); }); } public function down() { Schema::dropIfExists('posts'); } } ?>

Результат выполнения команды:

"Table created with foreign key constraint."

Смотрите также

  • метод down,
    который откатывает изменения, выполненные методом up
  • класс Blueprint,
    который используется для определения структуры таблицы
  • метод foreignId,
    который создает поле внешнего ключа
  • класс Schema,
    который обеспечивает работу со схемой базы данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить