vendor/pimcore/pimcore/bundles/CoreBundle/Migrations/Version20220725154615.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4.  * Pimcore
  5.  *
  6.  * This source file is available under two different licenses:
  7.  * - GNU General Public License version 3 (GPLv3)
  8.  * - Pimcore Commercial License (PCL)
  9.  * Full copyright and license information is available in
  10.  * LICENSE.md which is distributed with this source code.
  11.  *
  12.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  13.  *  @license    http://www.pimcore.org/license     GPLv3 and PCL
  14.  */
  15. namespace Pimcore\Bundle\CoreBundle\Migrations;
  16. use Doctrine\DBAL\Schema\Schema;
  17. use Doctrine\Migrations\AbstractMigration;
  18. use Pimcore\Db;
  19. /**
  20.  * Auto-generated Migration: Please modify to your needs!
  21.  */
  22. final class Version20220725154615 extends AbstractMigration
  23. {
  24.     public function getDescription(): string
  25.     {
  26.         return '';
  27.     }
  28.     public function up(Schema $schema): void
  29.     {
  30.         $db Db::get();
  31.         $translationsTables $db->fetchAllAssociative("SHOW FULL TABLES WHERE `Tables_in_{$db->getDatabase()}` LIKE 'translations\_%' AND Table_type = 'BASE TABLE'");
  32.         foreach ($translationsTables as $table) {
  33.             $translationsTable current($table);
  34.             if (!$schema->getTable($translationsTable)->hasColumn('userOwner')) {
  35.                 $this->addSql('ALTER TABLE `'.$translationsTable.'` ADD COLUMN `userOwner` int(11) unsigned DEFAULT NULL');
  36.             }
  37.             if (!$schema->getTable($translationsTable)->hasColumn('userModification')) {
  38.                 $this->addSql('ALTER TABLE `'.$translationsTable.'` ADD COLUMN `userModification` int(11) unsigned DEFAULT NULL');
  39.             }
  40.         }
  41.     }
  42.     public function down(Schema $schema): void
  43.     {
  44.         $db Db::get();
  45.         $translationsTables $db->fetchAllAssociative("SHOW FULL TABLES WHERE `Tables_in_{$db->getDatabase()}` LIKE 'translations\_%' AND Table_type = 'BASE TABLE'");
  46.         foreach ($translationsTables as $table) {
  47.             $translationsTable current($table);
  48.             if ($schema->getTable($translationsTable)->hasColumn('userOwner')) {
  49.                 $this->addSql('ALTER TABLE `'.$translationsTable.'` DROP COLUMN `userOwner`');
  50.             }
  51.             if ($schema->getTable($translationsTable)->hasColumn('userModification')) {
  52.                 $this->addSql('ALTER TABLE `'.$translationsTable.'` DROP COLUMN `userModification`');
  53.             }
  54.         }
  55.     }
  56. }