migrations/Version20250903153815.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. final class Version20250903153815 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Cria tabela std_top10 para snapshots de páginas mais vistas';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql(<<<'SQL'
  15.             CREATE TABLE `std_top10` (
  16.             `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  17.             `page_id` INT UNSIGNED NOT NULL COMMENT 'Page unique identifier',
  18.             `views_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Total de visualizações no período do snapshot',
  19.             `is_active` TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'Flag that indicates if the snapshot is active',
  20.             `created_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Data/hora de criação do registro',
  21.             `updated_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Data/hora da última atualização do registro',
  22.             PRIMARY KEY (`id`),
  23.             KEY `idx_std_top10_page_id` (`page_id`),
  24.             KEY `idx_std_top10_created_date` (`created_date`),
  25.             CONSTRAINT `fk_std_top10_std_pages`
  26.                 FOREIGN KEY (`page_id`) REFERENCES `std_pages` (`id`)
  27.                 ON DELETE CASCADE ON UPDATE CASCADE
  28.             ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE `utf8mb4_unicode_ci`;
  29.         SQL);
  30.     }
  31.     public function down(Schema $schema): void
  32.     {
  33.         $this->addSql('DROP TABLE IF EXISTS `std_top10`');
  34.     }
  35. }