1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?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);
|