migrations/Version20221123072219.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 Version20221123072219 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $qb $this->connection
  18.             ->createQueryBuilder()
  19.             ->select('u.id')
  20.             ->from('public.user''u')
  21.             ->setMaxResults(1);
  22.         $userId $qb->executeQuery()->fetchOne();
  23.         // this up() migration is auto-generated, please modify it to your needs
  24.         $this->addSql('ALTER TABLE "user" ADD created_by_id INT NOT NULL DEFAULT ' $userId);
  25.         $this->addSql('ALTER TABLE "user" ADD created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL');
  26.         $this->addSql('ALTER TABLE "user" ADD file_id INT DEFAULT NULL');
  27.         $this->addSql('ALTER TABLE "user" ADD first_name VARCHAR(255) DEFAULT NULL');
  28.         $this->addSql('ALTER TABLE "user" ADD second_name VARCHAR(255) DEFAULT NULL');
  29.         $this->addSql('ALTER TABLE "user" ADD last_name VARCHAR(255) DEFAULT NULL');
  30.         $this->addSql('COMMENT ON COLUMN "user".first_name IS \'Имя\'');
  31.         $this->addSql('COMMENT ON COLUMN "user".second_name IS \'Отчество\'');
  32.         $this->addSql('COMMENT ON COLUMN "user".last_name IS \'Фамилия\'');
  33.         $this->addSql('ALTER TABLE "user" ADD CONSTRAINT FK_8D93D64993CB796C FOREIGN KEY (file_id) REFERENCES file (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  34.         $this->addSql('ALTER TABLE "user" ADD CONSTRAINT FK_8D93D649B03A8386 FOREIGN KEY (created_by_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  35.         $this->addSql('CREATE INDEX IDX_8D93D64993CB796C ON "user" (file_id)');
  36.         $this->addSql('CREATE INDEX IDX_8D93D649B03A8386 ON "user" (created_by_id)');
  37.         $this->addSql('ALTER TABLE "user" ALTER COLUMN created_by_id DROP DEFAULT');
  38.     }
  39.     public function down(Schema $schema): void
  40.     {
  41.         // this down() migration is auto-generated, please modify it to your needs
  42.         $this->addSql('ALTER TABLE "user" DROP CONSTRAINT FK_8D93D64993CB796C');
  43.         $this->addSql('ALTER TABLE "user" DROP CONSTRAINT FK_8D93D649B03A8386');
  44.         $this->addSql('DROP INDEX IDX_8D93D64993CB796C');
  45.         $this->addSql('DROP INDEX IDX_8D93D649B03A8386');
  46.         $this->addSql('ALTER TABLE "user" DROP file_id');
  47.         $this->addSql('ALTER TABLE "user" DROP created_by_id');
  48.         $this->addSql('ALTER TABLE "user" DROP first_name');
  49.         $this->addSql('ALTER TABLE "user" DROP second_name');
  50.         $this->addSql('ALTER TABLE "user" DROP last_name');
  51.         $this->addSql('ALTER TABLE "user" DROP created_at');
  52.     }
  53. }