<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20240706080141 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE applicant (id UUID NOT NULL, applicant_type_id UUID DEFAULT NULL, created_by UUID DEFAULT NULL, updated_by UUID DEFAULT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, phone_number VARCHAR(255) NOT NULL, phone_number2 VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, postal_code VARCHAR(255) NOT NULL, post_office VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL, street VARCHAR(255) NOT NULL, house_number VARCHAR(255) NOT NULL, apartment_number VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, deleted_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_CAAD1019B309296A ON applicant (applicant_type_id)');
$this->addSql('CREATE INDEX IDX_CAAD1019DE12AB56 ON applicant (created_by)');
$this->addSql('CREATE INDEX IDX_CAAD101916FE72E1 ON applicant (updated_by)');
$this->addSql('COMMENT ON COLUMN applicant.id IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN applicant.applicant_type_id IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN applicant.created_by IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN applicant.updated_by IS \'(DC2Type:uuid)\'');
$this->addSql('CREATE TABLE application_attachment (id UUID NOT NULL, attachment_id UUID DEFAULT NULL, application_id UUID DEFAULT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE UNIQUE INDEX UNIQ_EDCE857464E68B ON application_attachment (attachment_id)');
$this->addSql('CREATE INDEX IDX_EDCE8573E030ACD ON application_attachment (application_id)');
$this->addSql('COMMENT ON COLUMN application_attachment.id IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN application_attachment.attachment_id IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN application_attachment.application_id IS \'(DC2Type:uuid)\'');
$this->addSql('CREATE TABLE dict_applicant_type (id UUID NOT NULL, created_by UUID DEFAULT NULL, updated_by UUID DEFAULT NULL, name VARCHAR(255) NOT NULL, code VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, deleted_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE UNIQUE INDEX UNIQ_6B0157D95E237E06 ON dict_applicant_type (name)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_6B0157D977153098 ON dict_applicant_type (code)');
$this->addSql('CREATE INDEX IDX_6B0157D9DE12AB56 ON dict_applicant_type (created_by)');
$this->addSql('CREATE INDEX IDX_6B0157D916FE72E1 ON dict_applicant_type (updated_by)');
$this->addSql('COMMENT ON COLUMN dict_applicant_type.id IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN dict_applicant_type.created_by IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN dict_applicant_type.updated_by IS \'(DC2Type:uuid)\'');
$this->addSql('ALTER TABLE applicant ADD CONSTRAINT FK_CAAD1019B309296A FOREIGN KEY (applicant_type_id) REFERENCES dict_applicant_type (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE applicant ADD CONSTRAINT FK_CAAD1019DE12AB56 FOREIGN KEY (created_by) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE applicant ADD CONSTRAINT FK_CAAD101916FE72E1 FOREIGN KEY (updated_by) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE application_attachment ADD CONSTRAINT FK_EDCE857464E68B FOREIGN KEY (attachment_id) REFERENCES attachment (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE application_attachment ADD CONSTRAINT FK_EDCE8573E030ACD FOREIGN KEY (application_id) REFERENCES application (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE dict_applicant_type ADD CONSTRAINT FK_6B0157D9DE12AB56 FOREIGN KEY (created_by) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE dict_applicant_type ADD CONSTRAINT FK_6B0157D916FE72E1 FOREIGN KEY (updated_by) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE applicant DROP CONSTRAINT FK_CAAD1019B309296A');
$this->addSql('ALTER TABLE applicant DROP CONSTRAINT FK_CAAD1019DE12AB56');
$this->addSql('ALTER TABLE applicant DROP CONSTRAINT FK_CAAD101916FE72E1');
$this->addSql('ALTER TABLE application_attachment DROP CONSTRAINT FK_EDCE857464E68B');
$this->addSql('ALTER TABLE application_attachment DROP CONSTRAINT FK_EDCE8573E030ACD');
$this->addSql('ALTER TABLE dict_applicant_type DROP CONSTRAINT FK_6B0157D9DE12AB56');
$this->addSql('ALTER TABLE dict_applicant_type DROP CONSTRAINT FK_6B0157D916FE72E1');
$this->addSql('DROP TABLE applicant');
$this->addSql('DROP TABLE application_attachment');
$this->addSql('DROP TABLE dict_applicant_type');
}
}