Study
CakePHP

Migration di CakePHP

Penjelasan

CakePHP tidak menyertakan migration di core-nya secara default — dipakai lewat plugin resmi cakephp/migrations (biasanya sudah terpasang di app skeleton). Dibuat lewat bin/cake bake migration, dijalankan lewat bin/cake migrations migrate.

Contoh Konsep

<?php

use Migrations\AbstractMigration;

class CreateProduk extends AbstractMigration
{
    public function change(): void
    {
        $table = $this->table('produk');
        $table->addColumn('nama', 'string', ['limit' => 255])
            ->addColumn('harga', 'decimal', ['precision' => 10, 'scale' => 2])
            ->addColumn('created', 'datetime')
            ->addColumn('modified', 'datetime')
            ->create();
    }
}

// Jalankan lewat terminal:
// bin/cake migrations migrate

Praktikum

Buat migration CreateArtikel lewat bin/cake bake migration CreateArtikel. Isi method change() supaya tabel artikel punya kolom judul (string 255) dan isi (text), plus created dan modified (datetime).

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kolom created dan modified BUKAN sekadar konvensi kosmetik — kalau kedua kolom ini ada di tabel, CakePHP Table/Entity otomatis mengisi timestamp-nya sendiri saat insert/update, mirip timestamps() di Laravel tapi wajib dua kolom terpisah dengan nama PERSIS itu.