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).
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.