zoltanlaca/dibi-migrations

Dibi Database Migrations Library

v1.0.4 2025-03-07 09:43 UTC

This package is auto-updated.

Last update: 2025-05-07 10:12:52 UTC


README

Dibi Database Migrations Library

Installation

composer require zoltanlaca/dibi-migrations

Basic configuration

<?php
declare(strict_types=1);

use Dibi\Connection;
use Zoltanlaca\DibiMigrations\Configuration;
use Zoltanlaca\DibiMigrations\Exceptions\ConnectionException;
use Zoltanlaca\DibiMigrations\Migrations;

include_once dirname(__DIR__) . '/vendor/autoload.php';

try {
    $connection = new Connection(
        config: [
            'driver' => 'mysqli',
            'host' => 'localhost',
            'username' => 'root',
            'password' => '',
            'database' => 'dibi_migrations',
        ]
    );
} catch (\Dibi\Exception $exception) {
    echo $exception->getMessage(). PHP_EOL;
    exit;
}

$config = New Configuration(
   connection: $connection,
   directory: __DIR__ . '/Migrations',
   namespace: 'Zoltanlaca\DibiMigrations\Examples\Migrations',
   tableName: 'migrations'
);

try {
    $migrations = new Migrations($config);
    $migrations->migrateUp();
} catch (ConnectionException $exception) {
    echo $exception->getMessage(). PHP_EOL;
    exit;
}

Migrate to newest version

$migrations->migrateUp();

Migrate to defined version only

$migrations->migrateUp(20230518085154);

Revert migration to first version

$migrations->migrateDown();

Revert migration to defined version

$migrations->migrateUp(20230518085154);