Метод create
Метод create класса Schema применяется для создания новой таблицы в базе данных. Первым параметром передаётся имя таблицы, вторым - замыкание, которое принимает объект Blueprint для определения структуры таблицы. Если таблица уже существует, метод вызовет исключение.
Синтаксис
<?php
Schema::create($table, $callback);
?>
Пример
Давайте создадим простую таблицу 'users' с основными полями:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class 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');
}
};
?>
Пример
Давайте создадим таблицу 'articles' с полями различных типов:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained();
$table->string('title');
$table->text('content');
$table->integer('views')->default(0);
$table->boolean('is_published')->default(false);
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('articles');
}
};
?>
Пример
Давайте создадим таблицу 'categories' с дополнительными параметрами:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->string('name')->nullable();
$table->string('slug')->unique();
$table->text('description')->nullable();
$table->timestamps();
$table->softDeletes();
});
}
public function down()
{
Schema::dropIfExists('categories');
}
};
?>
Смотрите также
-
метод
table,
который изменяет существующую таблицу -
метод
drop,
который удаляет таблицу -
метод
dropIfExists,
который удаляет таблицу, если она существует -
метод
hasTable,
который проверяет существование таблицы