4. Создание миграций

Создадим базу данных и пропишем в .env данные для соединения с ней.

Создадим модель и миграцию Category. Выполним запрос в консоли:

php artisan make:model Category -m

Флаг -m для создания миграции.

Создадим модель и миграцию Tag. Выполним запрос в консоли:

php artisan make:model Tag -m

И Post:

php artisan make:model Post -m

Создадим миграцию:

php artisan make:migration create_post_tag_table

Эта миграция связывает таблицы posts и tags. По правилам их нужно записывать по алфавиту в единственном числе в названии миграций.

Изменим миграцию database/migrations/2021_02_20_132515_create_categories_table.php :

public function up()
{
        Schema::create('categories', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->string('slug')->unique();
            $table->timestamps();
        });
    }

Аналогично изменим миграцию database/migrations/2021_02_20_132802_create_tags_table.php :

public function up()
{
    Schema::create('tags', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->string('slug')->unique();
        $table->timestamps();
    });
}

database/migrations/2021_02_20_133103_create_posts_table.php :

Schema::create('posts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->string('slug')->unique();
            $table->text('description');
            $table->text('content');
            $table->integer('category_id')->unsigned();
            $table->integer('views')->unsigned()->default(0);
            $table->string('thumbnail')->nullable();
            $table->timestamps();
        });

database/migrations/2021_02_20_133345_create_post_tag_table.php :

Schema::create('post_tag', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('post_id')->unsigned();
            $table->integer('tag_id')->unsigned();
            $table->timestamps();
        });

Выполним миграцию:

php artisan migrate

Можем обновить миграции (откатим и сделаем заново), если нужно :

php artisan migrate:refresh

 

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии