cycle/schema-migrations-generator

Cycle ORM Migration generation

Maintainers

👁 wolfy-j

Package info

github.com/cycle/schema-migrations-generator

Chat

Documentation

pkg:composer/cycle/schema-migrations-generator

Fund package maintenance!

cycle

Statistics

Installs: 355 078

Dependents: 24

Suggesters: 3

Stars: 3

Open Issues: 3

2.3.0 2024-12-23 11:27 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 766c68dc1c89aa20128a4cecf1995f101c05e5f0

This package is auto-updated.

Last update: 2026-06-23 14:30:31 UTC


README

👁 Latest Stable Version
👁 Build Status
👁 Scrutinizer Code Quality
👁 Codecov

By migration generator package you can automatically generate a set of migration files for Cycle ORM during schema compilation. In this case, you have the freedom to alter such migrations manually before running them.

Installation

composer require cycle/schema-migrations-generator

Configuration

use Cycle\Migrations;
use Cycle\Schema\Registry;
use Cycle\Schema\Definition\Entity;
use Cycle\Database;
use Cycle\Database\Config;
use Cycle\Schema\Generator\Migrations\GenerateMigrations;

$dbal = new Database\DatabaseManager(new Config\DatabaseConfig([
 'default' => 'default',
 'databases' => [
 'default' => [
 'connection' => 'sqlite'
 ]
 ],
 'connections' => [
 'sqlite' => new Config\SQLiteDriverConfig(
 connection: new Config\SQLite\MemoryConnectionConfig(),
 queryCache: true,
 ),
 ]
]));

$migrator = new Migrations\Migrator(
 $config, 
 $dbal, 
 new Migrations\FileRepository($config)
);

$registry = new Registry($dbal);
$registry->register(....);

$generator = new GenerateMigrations(
 $migrator->getRepository(), 
 $migrator->getConfig()
);

Running

Migration generator creates set of migrations needed to sync database schema with desired state. Each database will receive its own migration.

$generator->run($registry);

License:

The MIT License (MIT). Please see LICENSE for more information. Maintained by Spiral Scout.