cycle / schema-migrations-generator
Cycle ORM Migration generation
Installs: 154 591
Dependents: 18
Suggesters: 2
Security: 0
Stars: 2
Watchers: 3
Forks: 4
Open Issues: 3
Requires
- php: >=8.1
- cycle/database: ^2.4.1
- cycle/migrations: ^4.2
- cycle/schema-builder: ^2.0
Requires (Dev)
- cycle/annotated: ^3.0
- cycle/orm: ^2.0
- phpunit/phpunit: ^9.5
- spiral/debug: ^3.0
- spiral/framework: ^3.0
README
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.