migrations/Version20240909123417.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 Version20240909123417 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Database initialization';
  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 SEQUENCE active_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  19.         $this->addSql('CREATE SEQUENCE conversation_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  20.         $this->addSql('CREATE SEQUENCE conversation_notification_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  21.         $this->addSql('CREATE SEQUENCE help_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  22.         $this->addSql('CREATE SEQUENCE message_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  23.         $this->addSql('CREATE SEQUENCE mobile_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  24.         $this->addSql('CREATE SEQUENCE tag_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  25.         $this->addSql('CREATE SEQUENCE tag_user_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  26.         $this->addSql('CREATE SEQUENCE "user_id_seq" INCREMENT BY 1 MINVALUE 1 START 1');
  27.         $this->addSql('CREATE TABLE active (id INT NOT NULL, PRIMARY KEY(id))');
  28.         $this->addSql('CREATE TABLE conversation (id INT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY(id))');
  29.         $this->addSql('CREATE TABLE conversation_user (conversation_id INT NOT NULL, user_id INT NOT NULL, PRIMARY KEY(conversation_id, user_id))');
  30.         $this->addSql('CREATE INDEX IDX_5AECB5559AC0396 ON conversation_user (conversation_id)');
  31.         $this->addSql('CREATE INDEX IDX_5AECB555A76ED395 ON conversation_user (user_id)');
  32.         $this->addSql('CREATE TABLE conversation_notification (id INT NOT NULL, conversation_id INT NOT NULL, _user_id INT NOT NULL, count INT NOT NULL, PRIMARY KEY(id))');
  33.         $this->addSql('CREATE INDEX IDX_EFBF188B9AC0396 ON conversation_notification (conversation_id)');
  34.         $this->addSql('CREATE INDEX IDX_EFBF188BD32632E8 ON conversation_notification (_user_id)');
  35.         $this->addSql('CREATE TABLE help (id INT NOT NULL, display VARCHAR(255) NOT NULL, msg VARCHAR(255) NOT NULL, actif BOOLEAN NOT NULL, PRIMARY KEY(id))');
  36.         $this->addSql('CREATE TABLE message (id INT NOT NULL, author_id INT NOT NULL, conversation_id INT DEFAULT NULL, message TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, is_post BOOLEAN DEFAULT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, abuse BOOLEAN DEFAULT NULL, PRIMARY KEY(id))');
  37.         $this->addSql('CREATE INDEX IDX_B6BD307FF675F31B ON message (author_id)');
  38.         $this->addSql('CREATE INDEX IDX_B6BD307F9AC0396 ON message (conversation_id)');
  39.         $this->addSql('CREATE TABLE message_tag (message_id INT NOT NULL, tag_id INT NOT NULL, PRIMARY KEY(message_id, tag_id))');
  40.         $this->addSql('CREATE INDEX IDX_2ABC3D6F537A1329 ON message_tag (message_id)');
  41.         $this->addSql('CREATE INDEX IDX_2ABC3D6FBAD26311 ON message_tag (tag_id)');
  42.         $this->addSql('CREATE TABLE message_user (message_id INT NOT NULL, user_id INT NOT NULL, PRIMARY KEY(message_id, user_id))');
  43.         $this->addSql('CREATE INDEX IDX_24064D90537A1329 ON message_user (message_id)');
  44.         $this->addSql('CREATE INDEX IDX_24064D90A76ED395 ON message_user (user_id)');
  45.         $this->addSql('CREATE TABLE mobile (id INT NOT NULL, user_mobile_id INT DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, token VARCHAR(255) NOT NULL, active BOOLEAN DEFAULT NULL, PRIMARY KEY(id))');
  46.         $this->addSql('CREATE INDEX IDX_3C7323E0B8E6CFAF ON mobile (user_mobile_id)');
  47.         $this->addSql('CREATE TABLE tag (id INT NOT NULL, name VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, community VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id))');
  48.         $this->addSql('CREATE TABLE tag_user (id INT NOT NULL, tag_id INT NOT NULL, user_tag_id INT NOT NULL, state INT DEFAULT NULL, PRIMARY KEY(id))');
  49.         $this->addSql('CREATE INDEX IDX_639C69FFBAD26311 ON tag_user (tag_id)');
  50.         $this->addSql('CREATE INDEX IDX_639C69FFDF80782C ON tag_user (user_tag_id)');
  51.         $this->addSql('CREATE TABLE "user" (id INT NOT NULL, help_id INT DEFAULT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, is_verified BOOLEAN NOT NULL, community VARCHAR(255) DEFAULT NULL, image_name VARCHAR(255) DEFAULT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, username VARCHAR(255) DEFAULT NULL, firstname VARCHAR(255) DEFAULT NULL, abuse BOOLEAN DEFAULT NULL, block BOOLEAN DEFAULT NULL, description VARCHAR(255) DEFAULT NULL, phone_number VARCHAR(15) DEFAULT NULL, activation_token VARCHAR(8) DEFAULT NULL, PRIMARY KEY(id))');
  52.         $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649E7927C74 ON "user" (email)');
  53.         $this->addSql('CREATE INDEX IDX_8D93D649D3F165E7 ON "user" (help_id)');
  54.         $this->addSql('ALTER TABLE conversation_user ADD CONSTRAINT FK_5AECB5559AC0396 FOREIGN KEY (conversation_id) REFERENCES conversation (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  55.         $this->addSql('ALTER TABLE conversation_user ADD CONSTRAINT FK_5AECB555A76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  56.         $this->addSql('ALTER TABLE conversation_notification ADD CONSTRAINT FK_EFBF188B9AC0396 FOREIGN KEY (conversation_id) REFERENCES conversation (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  57.         $this->addSql('ALTER TABLE conversation_notification ADD CONSTRAINT FK_EFBF188BD32632E8 FOREIGN KEY (_user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  58.         $this->addSql('ALTER TABLE message ADD CONSTRAINT FK_B6BD307FF675F31B FOREIGN KEY (author_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  59.         $this->addSql('ALTER TABLE message ADD CONSTRAINT FK_B6BD307F9AC0396 FOREIGN KEY (conversation_id) REFERENCES conversation (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  60.         $this->addSql('ALTER TABLE message_tag ADD CONSTRAINT FK_2ABC3D6F537A1329 FOREIGN KEY (message_id) REFERENCES message (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  61.         $this->addSql('ALTER TABLE message_tag ADD CONSTRAINT FK_2ABC3D6FBAD26311 FOREIGN KEY (tag_id) REFERENCES tag (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  62.         $this->addSql('ALTER TABLE message_user ADD CONSTRAINT FK_24064D90537A1329 FOREIGN KEY (message_id) REFERENCES message (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  63.         $this->addSql('ALTER TABLE message_user ADD CONSTRAINT FK_24064D90A76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  64.         $this->addSql('ALTER TABLE mobile ADD CONSTRAINT FK_3C7323E0B8E6CFAF FOREIGN KEY (user_mobile_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  65.         $this->addSql('ALTER TABLE tag_user ADD CONSTRAINT FK_639C69FFBAD26311 FOREIGN KEY (tag_id) REFERENCES tag (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  66.         $this->addSql('ALTER TABLE tag_user ADD CONSTRAINT FK_639C69FFDF80782C FOREIGN KEY (user_tag_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  67.         $this->addSql('ALTER TABLE "user" ADD CONSTRAINT FK_8D93D649D3F165E7 FOREIGN KEY (help_id) REFERENCES help (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  68.     }
  69.     public function down(Schema $schema): void
  70.     {
  71.         // this down() migration is auto-generated, please modify it to your needs
  72.         $this->addSql('CREATE SCHEMA public');
  73.         $this->addSql('ALTER TABLE conversation_user DROP CONSTRAINT FK_5AECB5559AC0396');
  74.         $this->addSql('ALTER TABLE conversation_notification DROP CONSTRAINT FK_EFBF188B9AC0396');
  75.         $this->addSql('ALTER TABLE message DROP CONSTRAINT FK_B6BD307F9AC0396');
  76.         $this->addSql('ALTER TABLE "user" DROP CONSTRAINT FK_8D93D649D3F165E7');
  77.         $this->addSql('ALTER TABLE message_tag DROP CONSTRAINT FK_2ABC3D6F537A1329');
  78.         $this->addSql('ALTER TABLE message_user DROP CONSTRAINT FK_24064D90537A1329');
  79.         $this->addSql('ALTER TABLE message_tag DROP CONSTRAINT FK_2ABC3D6FBAD26311');
  80.         $this->addSql('ALTER TABLE tag_user DROP CONSTRAINT FK_639C69FFBAD26311');
  81.         $this->addSql('ALTER TABLE conversation_user DROP CONSTRAINT FK_5AECB555A76ED395');
  82.         $this->addSql('ALTER TABLE conversation_notification DROP CONSTRAINT FK_EFBF188BD32632E8');
  83.         $this->addSql('ALTER TABLE message DROP CONSTRAINT FK_B6BD307FF675F31B');
  84.         $this->addSql('ALTER TABLE message_user DROP CONSTRAINT FK_24064D90A76ED395');
  85.         $this->addSql('ALTER TABLE mobile DROP CONSTRAINT FK_3C7323E0B8E6CFAF');
  86.         $this->addSql('ALTER TABLE tag_user DROP CONSTRAINT FK_639C69FFDF80782C');
  87.         $this->addSql('DROP SEQUENCE active_id_seq CASCADE');
  88.         $this->addSql('DROP SEQUENCE conversation_id_seq CASCADE');
  89.         $this->addSql('DROP SEQUENCE conversation_notification_id_seq CASCADE');
  90.         $this->addSql('DROP SEQUENCE help_id_seq CASCADE');
  91.         $this->addSql('DROP SEQUENCE message_id_seq CASCADE');
  92.         $this->addSql('DROP SEQUENCE mobile_id_seq CASCADE');
  93.         $this->addSql('DROP SEQUENCE tag_id_seq CASCADE');
  94.         $this->addSql('DROP SEQUENCE tag_user_id_seq CASCADE');
  95.         $this->addSql('DROP SEQUENCE "user_id_seq" CASCADE');
  96.         $this->addSql('DROP TABLE active');
  97.         $this->addSql('DROP TABLE conversation');
  98.         $this->addSql('DROP TABLE conversation_user');
  99.         $this->addSql('DROP TABLE conversation_notification');
  100.         $this->addSql('DROP TABLE help');
  101.         $this->addSql('DROP TABLE message');
  102.         $this->addSql('DROP TABLE message_tag');
  103.         $this->addSql('DROP TABLE message_user');
  104.         $this->addSql('DROP TABLE mobile');
  105.         $this->addSql('DROP TABLE tag');
  106.         $this->addSql('DROP TABLE tag_user');
  107.         $this->addSql('DROP TABLE "user"');
  108.     }
  109. }