123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?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;
- (@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);
- }
- $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);
|