migrations/Version20220623122203.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 Version20220623122203 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('CREATE TABLE static_field_formats (id INT AUTO_INCREMENT NOT NULL, static_field_id INT DEFAULT NULL, name VARCHAR(50) DEFAULT NULL, INDEX fk__static_field (static_field_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('ALTER TABLE static_field_formats ADD CONSTRAINT FK_CB37BC105AAF778C FOREIGN KEY (static_field_id) REFERENCES static_fields (id)');
  20.         $this->addSql('ALTER TABLE endpoind_fields CHANGE name name VARCHAR(250) DEFAULT NULL, CHANGE example_value example_value VARCHAR(250) DEFAULT NULL');
  21.         $this->addSql('ALTER TABLE model_fields CHANGE name name VARCHAR(250) DEFAULT NULL');
  22.         $this->addSql('ALTER TABLE static_fields ADD swagger_name VARCHAR(50) DEFAULT NULL');
  23.         $staticFieldsAll            = array('integer''boolean''string''nested''object''keyword''date''time');
  24.         $staticFieldNames           = array('keyword''date''time');
  25.         $staticFieldSwaggerNames    = array('integer''boolean''string''array''object''string''date''string');
  26.         foreach($staticFieldNames as $key => $staticFieldName) {
  27.             $this->addSql('INSERT INTO static_fields (name) VALUES (?)', array($staticFieldName));
  28.         }
  29.         $i 1;
  30.         foreach ($staticFieldsAll as $key => $value){
  31.             $this->addSql('UPDATE static_fields SET swagger_name = "' .$staticFieldSwaggerNames[$key] . '" WHERE id = "'$i '"');
  32.             $i++;
  33.         }
  34.         $staticFieldDateFormats = array('Y-m-d''Y/m/d''d-m-Y''d/m/Y');
  35.         foreach ($staticFieldDateFormats as $staticFieldDateFormat){
  36.             $this->addSql('INSERT INTO static_field_formats (name, static_field_id) VALUES (?, ?)', array($staticFieldDateFormat7));
  37.         }
  38.         $staticFieldTimeFormats = array('h:i:sa''h.i.sa');
  39.         foreach ($staticFieldTimeFormats as $staticFieldTimeFormat){
  40.             $this->addSql('INSERT INTO static_field_formats (name, static_field_id) VALUES (?, ?)', array($staticFieldTimeFormat,8));
  41.         }
  42.     }
  43.     public function down(Schema $schema): void
  44.     {
  45.         // this down() migration is auto-generated, please modify it to your needs
  46.         $this->addSql('DROP TABLE static_field_formats');
  47.         $this->addSql('ALTER TABLE endpoind_fields CHANGE name name VARCHAR(50) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE example_value example_value VARCHAR(50) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`');
  48.         $this->addSql('ALTER TABLE model_fields CHANGE name name VARCHAR(50) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`');
  49.         $this->addSql('ALTER TABLE static_fields DROP swagger_name');
  50.     }
  51. }