eeprom/tools/new-migration

26 lines
736 B
PHP
Executable file

#!/usr/bin/env php
<?php
use Index\Db\Migration\FsDbMigrationRepo;
require_once __DIR__ . '/../eeprom.php';
$db = $eeprom->getDatabase();
$repo = $db->createMigrationRepo();
if(!($repo instanceof FsDbMigrationRepo)) {
echo 'Migration repository type does not support creation of templates.' . PHP_EOL;
return;
}
$baseName = implode(' ', array_slice($argv, 1));
$manager = $db->createMigrationManager();
try {
$names = $manager->createNames($baseName);
} catch(InvalidArgumentException $ex) {
echo $ex->getMessage() . PHP_EOL;
return;
}
$repo->saveMigrationTemplate($names->name, $manager->template($names->className));
echo "Template for '{$names->className}' has been saved to {$names->name}.php." . PHP_EOL;