Database Migration for Contacts Table in Laravel

This PHP code snippet is a migration script for creating a 'contacts' table in a Laravel application. It defines various fields for storing contact details, including names, emails, phone numbers, and a virtual field that combines the first name, last name, and email.
mail@pastecode.io avatar
unknown
php
19 days ago
1.2 kB
5
Indexable
Never
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('contacts', function (Blueprint $table) {
            $table->id();
            $table->string('firstname');
            $table->string('middlename')->nullable();
            $table->string('lastname')->nullable();
            $table->string('email')->nullable();
            $table->string('secondary_email')->nullable();
            $table->string('phone')->nullable();
            $table->string('telegram')->nullable();
            $table->string('preferred_contact_method')->nullable();
            $table->string('other_contact_details')->nullable();
            $table->string('name_and_contact_details')->virtualAs("CONCAT(firstname, \" \", lastname, \", \", email)");
            $table->text('remarks')->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('contacts');
    }
};
Leave a Comment