zend-blog-3-backend
65 строк · 1.9 Кб
1<?php
2
3namespace Application\Migrations;4
5use Doctrine\DBAL\Schema\Schema;6use Doctrine\Migrations\AbstractMigration;7use Symfony\Component\DependencyInjection\ContainerAwareInterface;8use Symfony\Component\DependencyInjection\ContainerInterface;9
10/**
11* Auto-generated Migration: Please modify to your needs!
12*/
13class Version20171113212500 extends AbstractMigration implements ContainerAwareInterface14{
15/**16* @var ContainerInterface
17*/
18protected $container;19
20/**21* @param ContainerInterface|null $container
22*/
23public function setContainer(ContainerInterface $container = null)24{25$this->container = $container;26}27
28/**29* @param Schema $schema
30*/
31public function up(Schema $schema): void32{33// this up() migration is auto-generated, please modify it to your needs34$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');35
36$this->addSql('SELECT NOW()');37}38
39/**40* @param Schema $schema
41*/
42public function down(Schema $schema): void43{44// this down() migration is auto-generated, please modify it to your needs45$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');46
47$this->addSql('DROP PROCEDURE `update_all_comments_count`');48}49
50/**51* @param Schema $schema
52*/
53public function postUp(Schema $schema): void54{55parent::postUp($schema);56
57$sql = file_get_contents(__DIR__ . '/sql/update_all_comments_count_01.sql');58
59$em = $this->container->get('doctrine.orm.entity_manager');60$stmt = $em->getConnection()->prepare($sql);61$stmt->execute();62
63$this->write(' <comment>-></comment> CREATE PROCEDURE `update_all_comments_count`');64}65}
66