migrations/Version20230223144303.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 Version20230223144303 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Create schema for event managements module';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql('CREATE SCHEMA event_managment');
  15.         $this->addSql('CREATE SEQUENCE event_managment.event_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  16.         $this->addSql('CREATE SEQUENCE event_managment.event_sub_type_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  17.         $this->addSql('CREATE SEQUENCE event_managment.event_type_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  18.         $this->addSql('CREATE SEQUENCE event_managment.location_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  19.         $this->addSql('CREATE SEQUENCE event_managment.participant_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  20.         $this->addSql('CREATE SEQUENCE event_managment.photo_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  21.         $this->addSql('CREATE TABLE event_managment.event (id VARCHAR(255) NOT NULL, event_sub_type_id VARCHAR(255) NOT NULL, location_id VARCHAR(255) NOT NULL, start_date TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, end_date TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, subscription_limit_date TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, message_to_network TEXT DEFAULT NULL, message_to_external TEXT DEFAULT NULL, video_url TEXT DEFAULT NULL, PRIMARY KEY(id))');
  22.         $this->addSql('CREATE INDEX IDX_A06EDF33111D03E7 ON event_managment.event (event_sub_type_id)');
  23.         $this->addSql('CREATE UNIQUE INDEX UNIQ_A06EDF3364D218E ON event_managment.event (location_id)');
  24.         $this->addSql('CREATE TABLE event_managment.event_sub_type (id VARCHAR(255) NOT NULL, event_type_id VARCHAR(255) DEFAULT NULL, parent_id VARCHAR(255) DEFAULT NULL, code VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, rank INT DEFAULT NULL, PRIMARY KEY(id))');
  25.         $this->addSql('CREATE INDEX IDX_8F9C3379401B253C ON event_managment.event_sub_type (event_type_id)');
  26.         $this->addSql('CREATE INDEX IDX_8F9C3379727ACA70 ON event_managment.event_sub_type (parent_id)');
  27.         $this->addSql('CREATE TABLE event_managment.event_type (id VARCHAR(255) NOT NULL, code VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, rank INT DEFAULT NULL, PRIMARY KEY(id))');
  28.         $this->addSql('CREATE TABLE event_managment.location (id VARCHAR(255) NOT NULL, city_id INT NOT NULL, name VARCHAR(255) NOT NULL, email VARCHAR(255) DEFAULT NULL, phone VARCHAR(255) DEFAULT NULL, address_principal VARCHAR(255) NOT NULL, address_complement VARCHAR(255) DEFAULT NULL, zip_code VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id))');
  29.         $this->addSql('CREATE INDEX IDX_C3AF6A968BAC62AF ON event_managment.location (city_id)');
  30.         $this->addSql('CREATE TABLE event_managment.participant (id VARCHAR(255) NOT NULL, event_id VARCHAR(255) NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, phone VARCHAR(255) NOT NULL, status VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
  31.         $this->addSql('CREATE INDEX IDX_9776767A71F7E88B ON event_managment.participant (event_id)');
  32.         $this->addSql('CREATE TABLE event_managment.photo (id VARCHAR(255) NOT NULL, event_id VARCHAR(255) DEFAULT NULL, path VARCHAR(255) NOT NULL, position INT DEFAULT NULL, PRIMARY KEY(id))');
  33.         $this->addSql('CREATE INDEX IDX_8F77518C71F7E88B ON event_managment.photo (event_id)');
  34.         $this->addSql('ALTER TABLE event_managment.event ADD CONSTRAINT FK_A06EDF33111D03E7 FOREIGN KEY (event_sub_type_id) REFERENCES event_managment.event_sub_type (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  35.         $this->addSql('ALTER TABLE event_managment.event ADD CONSTRAINT FK_A06EDF3364D218E FOREIGN KEY (location_id) REFERENCES event_managment.location (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  36.         $this->addSql('ALTER TABLE event_managment.event_sub_type ADD CONSTRAINT FK_8F9C3379401B253C FOREIGN KEY (event_type_id) REFERENCES event_managment.event_type (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  37.         $this->addSql('ALTER TABLE event_managment.event_sub_type ADD CONSTRAINT FK_8F9C3379727ACA70 FOREIGN KEY (parent_id) REFERENCES event_managment.event_sub_type (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  38.         $this->addSql('ALTER TABLE event_managment.location ADD CONSTRAINT FK_C3AF6A968BAC62AF FOREIGN KEY (city_id) REFERENCES city (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE');
  39.         $this->addSql('ALTER TABLE event_managment.participant ADD CONSTRAINT FK_9776767A71F7E88B FOREIGN KEY (event_id) REFERENCES event_managment.event (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  40.         $this->addSql('ALTER TABLE event_managment.photo ADD CONSTRAINT FK_8F77518C71F7E88B FOREIGN KEY (event_id) REFERENCES event_managment.event (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  41.     }
  42.     public function down(Schema $schema): void
  43.     {
  44.         $this->addSql('DROP SEQUENCE event_managment.event_id_seq CASCADE');
  45.         $this->addSql('DROP SEQUENCE event_managment.event_sub_type_id_seq CASCADE');
  46.         $this->addSql('DROP SEQUENCE event_managment.event_type_id_seq CASCADE');
  47.         $this->addSql('DROP SEQUENCE event_managment.location_id_seq CASCADE');
  48.         $this->addSql('DROP SEQUENCE event_managment.participant_id_seq CASCADE');
  49.         $this->addSql('DROP SEQUENCE event_managment.photo_id_seq CASCADE');
  50.         $this->addSql('ALTER TABLE event_managment.event DROP CONSTRAINT FK_A06EDF33111D03E7');
  51.         $this->addSql('ALTER TABLE event_managment.event DROP CONSTRAINT FK_A06EDF3364D218E');
  52.         $this->addSql('ALTER TABLE event_managment.event_sub_type DROP CONSTRAINT FK_8F9C3379401B253C');
  53.         $this->addSql('ALTER TABLE event_managment.event_sub_type DROP CONSTRAINT FK_8F9C3379727ACA70');
  54.         $this->addSql('ALTER TABLE event_managment.location DROP CONSTRAINT FK_C3AF6A968BAC62AF');
  55.         $this->addSql('ALTER TABLE event_managment.participant DROP CONSTRAINT FK_9776767A71F7E88B');
  56.         $this->addSql('ALTER TABLE event_managment.photo DROP CONSTRAINT FK_8F77518C71F7E88B');
  57.         $this->addSql('DROP TABLE event_managment.event');
  58.         $this->addSql('DROP TABLE event_managment.event_sub_type');
  59.         $this->addSql('DROP TABLE event_managment.event_type');
  60.         $this->addSql('DROP TABLE event_managment.location');
  61.         $this->addSql('DROP TABLE event_managment.participant');
  62.         $this->addSql('DROP TABLE event_managment.photo');
  63.     }
  64. }