Masalah Auto Increment Pada Migrasi Laravel

Laravel sendiri memiliki fitur migrasi, dan sebelumnya saya juga sudah menjelaskan tentang bagaimana menggunakan cara membuat migrasi laravel. Sederhananya migrasi ini adalah fitur yang bisa digunakan dalam mengelola/membuat tabel database, dan laravel sendiri sudah menyediakan beberapa paramter yang bisa digunakan dalam operasi migrasinya

Lihat pada : https://laravel.com/docs/4.2/schema

Secara default ketika Anda mendefinisikan nilai – nilai seperti integer, medium integer, small integer dan tiny integer maka laravel akan menambahkan nilai auto increments kedalamnya, hal ini tentunya akan mengakibatkan error saat migrasi  terutama ketika tipe integer lebih dari satu 

masalah migrasi laravel dengan tipe data integer


“There can be only one auto column ..” intinya hanya boleh ada 1 kolom auto increment diddalam sebuah tabel


Untuk itu dalam menambahkan tipe integer Anda perlu menambahkan parameter seperti berikut :

integer($column, $autoIncrement = false, $unsigned = false)

atau sederhananya Anda cukup menambahkan parameter false pada setiap nilai integer supaya tidak terjadi penambahan 2 auto increments pada nilai kolom integer yang tidak diinginkan seperti contoh berikut :


<?php

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

class CreatePegawaiTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('pegawai', function (Blueprint $table) {
           
            $table->increments('id')->unsigned();
            $table->string('nama_lengkap',65)->nullable();
            $table->string('jabatan',45)->nullable();
            $table->smallInteger('umur',false)->nullable(); //contoh integer
            $table->text('alamat')->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('pegawai');
    }
}



0 Response to "Masalah Auto Increment Pada Migrasi Laravel"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin