migrations/Version20250827185534.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. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20250827185534 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Crear tablas tramite_drupal y pasos_tramite_drupal';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // Crear tabla tramite_drupal
  18.         $this->addSql('CREATE TABLE tramite_drupal (
  19.             id INT AUTO_INCREMENT NOT NULL,
  20.             drupal_id VARCHAR(50) NOT NULL UNIQUE,
  21.             title VARCHAR(255) DEFAULT NULL,
  22.             url TEXT DEFAULT NULL,
  23.             status VARCHAR(10) DEFAULT NULL,
  24.             descripcion TEXT DEFAULT NULL,
  25.             areas_title VARCHAR(255) DEFAULT NULL,
  26.             areas_url TEXT DEFAULT NULL,
  27.             organismos_descripcion TEXT DEFAULT NULL,
  28.             requisitos_titulo VARCHAR(255) DEFAULT NULL,
  29.             requisitos_subtitulo VARCHAR(255) DEFAULT NULL,
  30.             requisitos_descripcion TEXT DEFAULT NULL,
  31.             costos_titulo VARCHAR(255) DEFAULT NULL,
  32.             costos_name VARCHAR(255) DEFAULT NULL,
  33.             costos_price DECIMAL(10,2) DEFAULT NULL,
  34.             informacion_adicional_descripcion TEXT DEFAULT NULL,
  35.             sector_economico VARCHAR(100) DEFAULT NULL,
  36.             tramite_modalidad_online TINYINT(1) DEFAULT NULL,
  37.             tramite_modalidad_presencial TinyINT(1) DEFAULT NULL,
  38.             activo TINYINT(1) NOT NULL DEFAULT 1,
  39.             created_at DATETIME NOT NULL,
  40.             updated_at DATETIME NOT NULL,
  41.             deleted_at DATETIME DEFAULT NULL,
  42.             PRIMARY KEY(id),
  43.             INDEX IDX_DRUPAL_ID (drupal_id),
  44.             INDEX IDX_SECTOR_ECONOMICO (sector_economico),
  45.             INDEX IDX_ACTIVO (activo),
  46.             INDEX IDX_DELETED_AT (deleted_at)
  47.         ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  48.         // Crear tabla pasos_tramite_drupal
  49.         $this->addSql('CREATE TABLE pasos_tramite_drupal (
  50.             id INT AUTO_INCREMENT NOT NULL,
  51.             tramite_drupal_id INT NOT NULL,
  52.             title VARCHAR(255) DEFAULT NULL,
  53.             descripcion TEXT DEFAULT NULL,
  54.             link_uri TEXT DEFAULT NULL,
  55.             link_title VARCHAR(255) DEFAULT NULL,
  56.             orden INT NOT NULL,
  57.             activo TINYINT(1) NOT NULL DEFAULT 1,
  58.             created_at DATETIME NOT NULL,
  59.             updated_at DATETIME NOT NULL,
  60.             deleted_at DATETIME DEFAULT NULL,
  61.             PRIMARY KEY(id),
  62.             INDEX IDX_TRAMITE_DRUPAL (tramite_drupal_id),
  63.             INDEX IDX_ORDEN (orden),
  64.             INDEX IDX_ACTIVO (activo),
  65.             INDEX IDX_DELETED_AT (deleted_at),
  66.             CONSTRAINT FK_PASOS_TRAMITE_DRUPAL FOREIGN KEY (tramite_drupal_id) REFERENCES tramite_drupal (id) ON DELETE CASCADE
  67.         ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  68.     }
  69.     public function down(Schema $schema): void
  70.     {
  71.         // Eliminar tabla pasos_tramite_drupal primero por la foreign key
  72.         $this->addSql('DROP TABLE pasos_tramite_drupal');
  73.         
  74.         // Eliminar tabla tramite_drupal
  75.         $this->addSql('DROP TABLE tramite_drupal');
  76.     }
  77. }