MIGRATION
Untuk create table dalam Laravel. Kita akan menggunakan Migration.
Migration adalah satu features dalam Laravel yang memudahkan developer track database scheme.
Laravel menggunakan migration untuk apa perubahan yang telah kita lakukan pada database kita.
Kelebihannya, anda dengan mudah boleh buat kemaskini atau revert balik perubahan dengan sekadar command ringkas.
Cth:
php artisan migrate:reset
CREATE NEW MIGRATION FILE
Create file migration dengan nama create_tickets_table (atau nama lain pun boleh).
php artisan make:migration create_tickets_table
File migration akan dhasilkan dan ditempatkan dalam direktori database/migrations.
File migration akan mempunyai timestamp diawal nama file seperti berikut
2015_06_15_150120_create_tickets_table.php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTicketsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
Bila anda buka file berkenaan ada 2 method penting:
- Method Up: Utk add table, column kepada database
- Method Down: Untuk reverse apa up buat
CREATE MIGRATION dengan opsyen ‘–CREATE’
Dengan menambah ‘–create’ diakhir command create migration, Laravel secara otomatis akan generate code tickect table untuk anda.
Cuba delete file migration create ticket table yang terdahulu
2015_06_15_150120_create_tickets_table.php
Kemudian cuba run command berikut
php artisan make:migration create_tickets_table --create=tickets
public function up()
{
Schema::create('tickets', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
Jika anda lihat method Up mempunyai
$table->increments(‘id’);
merupakan id column dan merupakan primary key pada table berkenaan
$table->timestamps();
merupakan method special dalam Laravel yang menghasilkan kolum created_at dan update_at. Laravel menggunakan kolum ini untuk mengetahui perubahan table berkenaan.
refer disini untuk maklumat penuh migration http://laravel.com/docs/master/migrations
CREATE TABLE SEBENAR
Ubahsuai generated code berkenaan
public function up()
{
Schema::create('tickets', function (Blueprint $table) {
$table->increments('id');
$table->string('title', 255);
$table->text('content');
$table->string('slug')->nullable();
$table->tinyInteger('status')->default(1);
$table->integer('user_id');
$table->timestamps();
});
}
Selepas berpuas hati run command berkenaan untuk create table dan kolum
php artisan migrate
Sepatutnya sekarang table database telah dicipta. Boleh semah pada phpmyadmin.
Jika ada error semasa migrate, sila semak user permission dan juga config file database dan file .ENV.
Leave a Reply