Урок 21. Создание таблицы с помощью миграции в Laravel
В этом примере я покажу вам, как создать таблицу базы данных с помощью команды миграции в laravel. Мы будем использовать команду laravel для создания миграции для таблицы. вы можете легко создать миграцию в laravel 6, laravel 7 и laravel 8. Все уроки по Laravel расположены здесь.
Собственно, вот и команда:
php artisan make:migration create_works_tableТеперь в папке database\migrations создался файл (с примерно таким названием 2022_10_10_072954_create_works_table) с таким содержимым:
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateWorksTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('works', function (Blueprint $table) { $table->id(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('works'); } }Давайте добавим к нашей таблице название, описание и категорию:
$table->string('name', 255); $table->text('description'); $table->integer('category_id');Не забудем сохранить файл и запустим миграцию:
php artisan migrateИ получается у нас вот такая структура таблицы:
Откатить последнюю миграцию:
php artisan migrate:rollbackОбратите внимание, что мы используем класс Blueprint – это конструктор таблиц. Blueprint - это инструмент с открытым исходным кодом для быстрого создания нескольких компонентов Laravel из одного, понятного для человека определения. Методы и поля (типы, создание) очень похожи на используемые в SQL. Например, string – это аналог VARCHAR.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.