<?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 Version20240419123924 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 chat (id INT AUTO_INCREMENT NOT NULL, team_id INT DEFAULT NULL, company_id INT DEFAULT NULL, type VARCHAR(255) DEFAULT \'global\', count_users INT DEFAULT 0, count_chat_messages INT DEFAULT 0, active TINYINT(1) DEFAULT 1, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_659DF2AA296CD8AE (team_id), INDEX IDX_659DF2AA979B1AD6 (company_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE chat_message (id INT AUTO_INCREMENT NOT NULL, chat_id INT DEFAULT NULL, user_id INT DEFAULT NULL, `content` LONGTEXT DEFAULT NULL, `received` TINYINT(1) DEFAULT 0, `read` TINYINT(1) DEFAULT 0, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_FAB3FC161A9A7125 (chat_id), INDEX IDX_FAB3FC16A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE chat_message_media_object (chat_message_id INT NOT NULL, media_object_id INT NOT NULL, INDEX IDX_DAED8DDB948B568F (chat_message_id), INDEX IDX_DAED8DDB64DE5A5 (media_object_id), PRIMARY KEY(chat_message_id, media_object_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE user_chat (user_id INT NOT NULL, chat_id INT NOT NULL, INDEX IDX_1F1CBE63A76ED395 (user_id), INDEX IDX_1F1CBE631A9A7125 (chat_id), PRIMARY KEY(user_id, chat_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE chat ADD CONSTRAINT FK_659DF2AA296CD8AE FOREIGN KEY (team_id) REFERENCES team (id)');
$this->addSql('ALTER TABLE chat ADD CONSTRAINT FK_659DF2AA979B1AD6 FOREIGN KEY (company_id) REFERENCES company (id)');
$this->addSql('ALTER TABLE chat_message ADD CONSTRAINT FK_FAB3FC161A9A7125 FOREIGN KEY (chat_id) REFERENCES chat (id)');
$this->addSql('ALTER TABLE chat_message ADD CONSTRAINT FK_FAB3FC16A76ED395 FOREIGN KEY (user_id) REFERENCES `user` (id)');
$this->addSql('ALTER TABLE chat_message_media_object ADD CONSTRAINT FK_DAED8DDB948B568F FOREIGN KEY (chat_message_id) REFERENCES chat_message (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE chat_message_media_object ADD CONSTRAINT FK_DAED8DDB64DE5A5 FOREIGN KEY (media_object_id) REFERENCES media_object (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_chat ADD CONSTRAINT FK_1F1CBE63A76ED395 FOREIGN KEY (user_id) REFERENCES `user` (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_chat ADD CONSTRAINT FK_1F1CBE631A9A7125 FOREIGN KEY (chat_id) REFERENCES chat (id) ON DELETE CASCADE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE chat DROP FOREIGN KEY FK_659DF2AA296CD8AE');
$this->addSql('ALTER TABLE chat DROP FOREIGN KEY FK_659DF2AA979B1AD6');
$this->addSql('ALTER TABLE chat_message DROP FOREIGN KEY FK_FAB3FC161A9A7125');
$this->addSql('ALTER TABLE chat_message DROP FOREIGN KEY FK_FAB3FC16A76ED395');
$this->addSql('ALTER TABLE chat_message_media_object DROP FOREIGN KEY FK_DAED8DDB948B568F');
$this->addSql('ALTER TABLE chat_message_media_object DROP FOREIGN KEY FK_DAED8DDB64DE5A5');
$this->addSql('ALTER TABLE user_chat DROP FOREIGN KEY FK_1F1CBE63A76ED395');
$this->addSql('ALTER TABLE user_chat DROP FOREIGN KEY FK_1F1CBE631A9A7125');
$this->addSql('DROP TABLE chat');
$this->addSql('DROP TABLE chat_message');
$this->addSql('DROP TABLE chat_message_media_object');
$this->addSql('DROP TABLE user_chat');
}
}