Skip to content
DOCUMENTATION / BACKEND

Database & migrations.

PDO, prepared statements dan migrasi sederhana.

PHP 8.2+No buildDL 0.2 alpha

Query dengan parameter

Database membuat koneksi ketika query pertama dijalankan. Jangan gabungkan input pengguna ke string SQL.

PHP
$db = new DL\Database();
$user = $db->run('SELECT id, email FROM users WHERE email = ?', [$email])->fetch();

Transaksi

Exception pada callback memicu rollback. Transaksi tidak bersarang.

PHP
$db->transaction(function (DL\Database $db) use ($email, $name) {
    $db->run('INSERT INTO users (email, name) VALUES (?, ?)', [$email, $name]);
});

Migrasi PHP

Buat file database/migrations dengan nama berurutan. Contoh berikut menggunakan SQL umum; uji driver hosting Anda.

database/migrations/002_notes.php
<?php
return static function (DL\Database $db): void {
    $db->run('CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, title VARCHAR(190) NOT NULL)');
};

Menjalankan migrasi

Migrasi yang berhasil dicatat di dl_migrations. Tidak ada rollback otomatis atau transaksi universal untuk DDL; buat migrasi retry-safe dan backup sebelum production.

Terminal
php dl migrate

Icons: Solar by 480 Design (CC BY 4.0) & Iconsax (MIT). PHP UI adapted from Coordiation. Logo: DesignLof.