dayatdev / laravel-oracle-sequence
A Laravel package to handle Oracle SEQUENCE operations (auto NEXTVAL and sequence creation) easily.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/dayatdev/laravel-oracle-sequence
Requires
- php: ^8.1
- illuminate/support: ^9.0|^10.0|^11.0
This package is auto-updated.
Last update: 2025-12-14 09:16:27 UTC
README
🔁 Library Laravel untuk menangani Oracle SEQUENCE seperti
NEXTVAL/CURRVAL, agar tidak error setelah migrasi atau saat insert data tanpa auto increment bawaan.
Package ini memungkinkan kamu:
- Membuat sequence otomatis jika belum ada di database Oracle.
- Mengambil nilai berikut (
NEXTVAL) dari sequence. - Integrasi langsung dengan Eloquent model via trait.
- Gunakan pada project Laravel biasa tanpa konfigurasi tambahan yang rumit.
🧩 Requirements
| Komponen | Versi Minimum |
|---|---|
| PHP | 8.1 |
| Laravel | 9.x, 10.x, 11.x |
| Database | Oracle (tested on 12c, 19c) |
| PDO Driver | pdo_oci atau yajra/laravel-oci8 |
⚙️ Installation
composer require dayatdev/laravel-oracle-sequence
Setup
//config/app.php 'providers' => [ DayatDev\OracleSequence\OracleSequenceServiceProvider::class, ], 'aliases' => [ 'OracleSequence' => DayatDev\OracleSequence\Facades\OracleSequence::class, ],
Clear cache & autoload
php artisan config:clear composer dump-autoload
Usage
- Mengambil next value dari sequence
use DayatDev\OracleSequence\Facades\OracleSequence; $nextVal = OracleSequence::nextval('USER_SEQ'); echo $nextVal;
Jika sequence belum ada, package otomatis akan membuat:
CREATE SEQUENCE USER_SEQ START WITH 1 INCREMENT BY 1 NOCACHE;
2.Menggunakan pada Model Eloquent
namespace App\Models; use Illuminate\Database\Eloquent\Model; use DayatDev\OracleSequence\Traits\HasOracleSequence; class Banner extends Model { use HasOracleSequence; protected $table = 'banners'; protected $primaryKey = 'id'; public $incrementing = false; // wajib false jika bukan auto increment DB // opsional: override nama sequence protected string $sequenceName = 'BANNERS_SEQ'; }
3.Mengambil nilai sequence tanpa insert