<?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 Version20201104223526 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->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('CREATE TABLE user_join_access_stream_user (user_id INT NOT NULL, access_user_id INT NOT NULL, INDEX IDX_8A1814E8A76ED395 (user_id), INDEX IDX_8A1814E86F4B0980 (access_user_id), PRIMARY KEY(user_id, access_user_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE user_join_access_stream_group (user_id INT NOT NULL, access_group_id INT NOT NULL, INDEX IDX_CC165C79A76ED395 (user_id), INDEX IDX_CC165C7993411876 (access_group_id), PRIMARY KEY(user_id, access_group_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('ALTER TABLE user_join_access_stream_user ADD CONSTRAINT FK_8A1814E8A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_join_access_stream_user ADD CONSTRAINT FK_8A1814E86F4B0980 FOREIGN KEY (access_user_id) REFERENCES user (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_join_access_stream_group ADD CONSTRAINT FK_CC165C79A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_join_access_stream_group ADD CONSTRAINT FK_CC165C7993411876 FOREIGN KEY (access_group_id) REFERENCES user_group (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE stream DROP allow_all_users, DROP allow_all_groups');
$this->addSql('ALTER TABLE user ADD access_stream_all_groups TINYINT(1) NOT NULL, CHANGE allow_select_stream_users access_stream_all_users TINYINT(1) NOT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('DROP TABLE user_join_access_stream_user');
$this->addSql('DROP TABLE user_join_access_stream_group');
$this->addSql('ALTER TABLE stream ADD allow_all_users TINYINT(1) NOT NULL, ADD allow_all_groups TINYINT(1) NOT NULL');
$this->addSql('ALTER TABLE user ADD allow_select_stream_users TINYINT(1) NOT NULL, DROP access_stream_all_users, DROP access_stream_all_groups');
}
}