Code Duplication    Length = 52-53 lines in 3 locations

src/Console/SchemaCreateCommand.php 1 location

@@ 5-57 (lines=53) @@
2
3
use Symfony\Component\Console\Input\InputOption;
4
5
class SchemaCreateCommand extends DoctrineSchemaCommand
6
{
7
8
    /**
9
     * @var string
10
     */
11
    protected $name = 'doctrine:schema:create';
12
13
    /**
14
     * @var string
15
     */
16
    protected $description = 'Create database schema from entities';
17
18
19
    /**
20
     * @inheritdoc
21
     * @throws \Doctrine\ORM\Tools\ToolsException
22
     */
23
    public function fire()
24
    {
25
        $tool     = $this->getSchemaTool();
26
        $metadata = $this->getEntityManager()->getMetadataFactory()->getAllMetadata();
27
28
        $sql = $tool->getCreateSchemaSql($metadata);
29
30
        if (count($sql) === 0) {
31
            $this->info('Nothing to create!');
32
33
            return;
34
        }
35
36
        $this->info('Creating database schema ...');
37
38
        $tool->createSchema($metadata);
39
40
        if ($this->option('sql')) {
41
            $this->info(implode(';' . PHP_EOL, $sql));
42
        }
43
44
        $this->info('Schema created!');
45
    }
46
47
48
    /**
49
     * @return array
50
     */
51
    protected function getOptions()
52
    {
53
        return [
54
            ['sql', false, InputOption::VALUE_NONE, 'Dumps SQL queries.'],
55
        ];
56
    }
57
}
58

src/Console/SchemaDropCommand.php 1 location

@@ 5-57 (lines=53) @@
2
3
use Symfony\Component\Console\Input\InputOption;
4
5
class SchemaDropCommand extends DoctrineSchemaCommand
6
{
7
8
    /**
9
     * @var string
10
     */
11
    protected $name = 'doctrine:schema:drop';
12
13
    /**
14
     * @var string
15
     */
16
    protected $description = 'Drop database schema';
17
18
19
    /**
20
     * @inheritdoc
21
     * @throws \Doctrine\ORM\Tools\ToolsException
22
     */
23
    public function fire()
24
    {
25
        $tool     = $this->getSchemaTool();
26
        $metadata = $this->getEntityManager()->getMetadataFactory()->getAllMetadata();
27
28
        $sql = $tool->getDropSchemaSQL($metadata);
29
30
        if (count($sql) === 0) {
31
            $this->info('Nothing to drop!');
32
33
            return;
34
        }
35
36
        $this->info('Dropping database schema ...');
37
38
        $tool->dropSchema($metadata);
39
40
        if ($this->option('sql')) {
41
            $this->info(implode(';' . PHP_EOL, $sql));
42
        }
43
44
        $this->info('Schema dropped!');
45
    }
46
47
48
    /**
49
     * @return array
50
     */
51
    protected function getOptions()
52
    {
53
        return [
54
            ['sql', false, InputOption::VALUE_NONE, 'Dumps SQL queries.'],
55
        ];
56
    }
57
}
58

src/Console/SchemaUpdateCommand.php 1 location

@@ 5-56 (lines=52) @@
2
3
use Symfony\Component\Console\Input\InputOption;
4
5
class SchemaUpdateCommand extends DoctrineSchemaCommand
6
{
7
8
    /**
9
     * @var string
10
     */
11
    protected $name = 'doctrine:schema:update';
12
13
    /**
14
     * @var string
15
     */
16
    protected $description = 'Update database schema to match entities';
17
18
19
    /**
20
     * @inheritdoc
21
     */
22
    public function fire()
23
    {
24
        $tool     = $this->getSchemaTool();
25
        $metadata = $this->getEntityManager()->getMetadataFactory()->getAllMetadata();
26
27
        $sql = $tool->getUpdateSchemaSql($metadata);
28
29
        if (count($sql) === 0) {
30
            $this->info('Nothing to update!');
31
32
            return;
33
        }
34
35
        $this->info('Updating database schema ...');
36
37
        $tool->updateSchema($metadata);
38
39
        if ($this->option('sql')) {
40
            $this->info(implode(';' . PHP_EOL, $sql));
41
        }
42
43
        $this->info('Schema updated!');
44
    }
45
46
47
    /**
48
     * @return array
49
     */
50
    protected function getOptions()
51
    {
52
        return [
53
            ['sql', false, InputOption::VALUE_NONE, 'Dumps SQL queries.'],
54
        ];
55
    }
56
}
57