<?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 Version20260515144257 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 teamplay_user_recap (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, teamplay_id INT NOT NULL, team_id INT DEFAULT NULL, company_id INT DEFAULT NULL, teamplay_picture_id INT DEFAULT NULL, team_picture_id INT DEFAULT NULL, teamplay_name VARCHAR(255) NOT NULL, teamplay_description LONGTEXT DEFAULT NULL, teamplay_start_date DATETIME NOT NULL, teamplay_end_date DATETIME NOT NULL, teamplay_duration INT NOT NULL, total_points INT DEFAULT 0 NOT NULL, user_rank INT DEFAULT NULL, global_rank INT DEFAULT NULL, total_participants INT DEFAULT 0 NOT NULL, total_steps BIGINT DEFAULT 0 NOT NULL, total_bike_distance NUMERIC(12, 2) DEFAULT \'0\' NOT NULL, total_run_distance NUMERIC(12, 2) DEFAULT \'0\' NOT NULL, total_kinestex_reps INT DEFAULT 0 NOT NULL, total_kinestex_duration INT DEFAULT 0 NOT NULL, total_kinestex_sessions INT DEFAULT 0 NOT NULL, total_quiz_correct INT DEFAULT 0 NOT NULL, total_quiz_questions INT DEFAULT 0 NOT NULL, total_videos_watched INT DEFAULT 0 NOT NULL, team_name VARCHAR(255) DEFAULT NULL, team_points INT DEFAULT 0 NOT NULL, team_rank INT DEFAULT NULL, total_teams INT DEFAULT 0 NOT NULL, team_members_count INT DEFAULT 0 NOT NULL, team_total_steps BIGINT DEFAULT 0 NOT NULL, team_total_bike_distance NUMERIC(12, 2) DEFAULT \'0\' NOT NULL, team_total_run_distance NUMERIC(12, 2) DEFAULT \'0\' NOT NULL, team_total_quiz_correct INT DEFAULT 0 NOT NULL, team_total_videos_watched INT DEFAULT 0 NOT NULL, team_total_kinestex_sessions INT DEFAULT 0 NOT NULL, awards_data JSON DEFAULT NULL, total_awards_amount NUMERIC(10, 2) DEFAULT \'0\' NOT NULL, challenges_data JSON DEFAULT NULL, challenges_completed_count INT DEFAULT 0 NOT NULL, challenges_total_count INT DEFAULT 0 NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, updated_at DATETIME DEFAULT NULL, auto_generated TINYINT(1) DEFAULT 1 NOT NULL, extra_data JSON DEFAULT NULL, INDEX IDX_83914465979B1AD6 (company_id), INDEX IDX_83914465A0AC1FA2 (teamplay_picture_id), INDEX IDX_83914465D09CCF7A (team_picture_id), INDEX idx_user_recap (user_id), INDEX idx_teamplay_recap (teamplay_id), INDEX idx_team_recap (team_id), INDEX idx_recap_created (created_at), UNIQUE INDEX unique_user_teamplay_recap (user_id, teamplay_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE teamplay_user_recap ADD CONSTRAINT FK_83914465A76ED395 FOREIGN KEY (user_id) REFERENCES `user` (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE teamplay_user_recap ADD CONSTRAINT FK_83914465AA7FCDE7 FOREIGN KEY (teamplay_id) REFERENCES teamplay (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE teamplay_user_recap ADD CONSTRAINT FK_83914465296CD8AE FOREIGN KEY (team_id) REFERENCES team (id) ON DELETE SET NULL');
$this->addSql('ALTER TABLE teamplay_user_recap ADD CONSTRAINT FK_83914465979B1AD6 FOREIGN KEY (company_id) REFERENCES company (id) ON DELETE SET NULL');
$this->addSql('ALTER TABLE teamplay_user_recap ADD CONSTRAINT FK_83914465A0AC1FA2 FOREIGN KEY (teamplay_picture_id) REFERENCES media_object (id)');
$this->addSql('ALTER TABLE teamplay_user_recap ADD CONSTRAINT FK_83914465D09CCF7A FOREIGN KEY (team_picture_id) REFERENCES media_object (id)');
$this->addSql('ALTER TABLE bike_log CHANGE distance_amount distance_amount NUMERIC(10, 2) DEFAULT \'0\' NOT NULL');
$this->addSql('ALTER TABLE company_stat_recommendation CHANGE work_shops work_shops JSON DEFAULT NULL');
$this->addSql('ALTER TABLE email_programmation CHANGE detail detail JSON DEFAULT NULL');
$this->addSql('ALTER TABLE kinestex_log CHANGE raw_data raw_data JSON DEFAULT NULL');
$this->addSql('ALTER TABLE notification CHANGE body body JSON DEFAULT NULL, CHANGE metadata metadata JSON DEFAULT NULL, CHANGE device_tokens device_tokens JSON DEFAULT NULL');
$this->addSql('ALTER TABLE notification_preference CHANGE categories categories JSON DEFAULT NULL');
$this->addSql('ALTER TABLE run_log CHANGE distance_amount distance_amount NUMERIC(10, 2) DEFAULT \'0\' NOT NULL');
$this->addSql('ALTER TABLE tv_user CHANGE roles roles JSON NOT NULL');
$this->addSql('ALTER TABLE user CHANGE roles roles JSON NOT NULL');
$this->addSql('ALTER TABLE user_response CHANGE datas datas JSON DEFAULT NULL');
$this->addSql('ALTER TABLE video CHANGE src_links src_links JSON DEFAULT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE teamplay_user_recap DROP FOREIGN KEY FK_83914465A76ED395');
$this->addSql('ALTER TABLE teamplay_user_recap DROP FOREIGN KEY FK_83914465AA7FCDE7');
$this->addSql('ALTER TABLE teamplay_user_recap DROP FOREIGN KEY FK_83914465296CD8AE');
$this->addSql('ALTER TABLE teamplay_user_recap DROP FOREIGN KEY FK_83914465979B1AD6');
$this->addSql('ALTER TABLE teamplay_user_recap DROP FOREIGN KEY FK_83914465A0AC1FA2');
$this->addSql('ALTER TABLE teamplay_user_recap DROP FOREIGN KEY FK_83914465D09CCF7A');
$this->addSql('DROP TABLE teamplay_user_recap');
$this->addSql('ALTER TABLE bike_log CHANGE distance_amount distance_amount NUMERIC(10, 2) DEFAULT \'0.00\' NOT NULL');
$this->addSql('ALTER TABLE company_stat_recommendation CHANGE work_shops work_shops LONGTEXT DEFAULT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE email_programmation CHANGE detail detail LONGTEXT DEFAULT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE kinestex_log CHANGE raw_data raw_data JSON DEFAULT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE notification CHANGE body body LONGTEXT DEFAULT NULL COLLATE `utf8mb4_bin`, CHANGE metadata metadata LONGTEXT DEFAULT NULL COLLATE `utf8mb4_bin`, CHANGE device_tokens device_tokens LONGTEXT DEFAULT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE notification_preference CHANGE categories categories JSON DEFAULT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE run_log CHANGE distance_amount distance_amount NUMERIC(10, 2) DEFAULT \'0.00\' NOT NULL');
$this->addSql('ALTER TABLE tv_user CHANGE roles roles LONGTEXT NOT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE `user` CHANGE roles roles LONGTEXT NOT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE user_response CHANGE datas datas LONGTEXT DEFAULT NULL COLLATE `utf8mb4_bin`');
$this->addSql('ALTER TABLE video CHANGE src_links src_links LONGTEXT DEFAULT NULL COLLATE `utf8mb4_bin`');
}
}