You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.0 KiB
77 lines
2.0 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
/**
|
|
* Very useful script in order to create a Migration file based in the
|
|
* current differences of the database:
|
|
*
|
|
* php bin/doctrine.php migrations:diff
|
|
*
|
|
* This script also show doctrine basic commands:
|
|
* - Create schema
|
|
* - Drop schema
|
|
* - Update schema,
|
|
* etc
|
|
*
|
|
**/
|
|
|
|
|
|
use Doctrine\ORM\Tools\Console\ConsoleRunner;
|
|
use Symfony\Component\Console\Helper\HelperSet;
|
|
use Doctrine\DBAL\Types\Type;
|
|
|
|
(@include_once __DIR__.'/../vendor/autoload.php') || @include_once __DIR__.'/../../../autoload.php';
|
|
|
|
$directories = array(getcwd(), getcwd().DIRECTORY_SEPARATOR.'config');
|
|
|
|
$configFile = null;
|
|
foreach ($directories as $directory) {
|
|
$configFile = $directory.DIRECTORY_SEPARATOR.'cli-config.php';
|
|
|
|
if (file_exists($configFile)) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!file_exists($configFile)) {
|
|
ConsoleRunner::printCliConfigTemplate();
|
|
exit(1);
|
|
}
|
|
|
|
if (!is_readable($configFile)) {
|
|
echo 'Configuration file ['.$configFile.'] does not have read permission.'."\n";
|
|
exit(1);
|
|
}
|
|
|
|
Type::overrideType(
|
|
Type::DATETIME,
|
|
Database::getUTCDateTimeTypeClass()
|
|
);
|
|
|
|
Type::addType(
|
|
'json',
|
|
'Sonata\Doctrine\Types\JsonType'
|
|
);
|
|
|
|
$commands = array(
|
|
new \Doctrine\DBAL\Migrations\Tools\Console\Command\DiffCommand(),
|
|
new \Doctrine\DBAL\Migrations\Tools\Console\Command\ExecuteCommand(),
|
|
new \Doctrine\DBAL\Migrations\Tools\Console\Command\GenerateCommand(),
|
|
new \Doctrine\DBAL\Migrations\Tools\Console\Command\LatestCommand(),
|
|
new \Doctrine\DBAL\Migrations\Tools\Console\Command\MigrateCommand(),
|
|
new \Doctrine\DBAL\Migrations\Tools\Console\Command\StatusCommand(),
|
|
new \Doctrine\DBAL\Migrations\Tools\Console\Command\VersionCommand()
|
|
);
|
|
|
|
$helperSet = require $configFile;
|
|
|
|
if (!($helperSet instanceof HelperSet)) {
|
|
foreach ($GLOBALS as $helperSetCandidate) {
|
|
if ($helperSetCandidate instanceof HelperSet) {
|
|
$helperSet = $helperSetCandidate;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
\Doctrine\ORM\Tools\Console\ConsoleRunner::run($helperSet, $commands);
|
|
|