From 81e06ae6dd38d6346f813c682b8c9673282c43bc Mon Sep 17 00:00:00 2001 From: overflowerror Date: Mon, 18 Jan 2021 18:28:02 +0100 Subject: [PATCH] fixed missing view count when link gets deleted --- migrations/Version20210118172542.php | 41 ++++++++++++++++++++++++++++ src/Entity/View.php | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 migrations/Version20210118172542.php diff --git a/migrations/Version20210118172542.php b/migrations/Version20210118172542.php new file mode 100644 index 0000000..6a02960 --- /dev/null +++ b/migrations/Version20210118172542.php @@ -0,0 +1,41 @@ +addSql('ALTER TABLE user CHANGE id id BINARY(16) NOT NULL, CHANGE creator_id creator_id BINARY(16) DEFAULT NULL'); + $this->addSql('ALTER TABLE video CHANGE id id BINARY(16) NOT NULL, CHANGE uploader_id uploader_id BINARY(16) NOT NULL'); + $this->addSql('ALTER TABLE video_link CHANGE id id BINARY(16) NOT NULL, CHANGE video_id video_id BINARY(16) NOT NULL, CHANGE creator_id creator_id BINARY(16) NOT NULL'); + $this->addSql('ALTER TABLE view DROP FOREIGN KEY FK_FEFDAB8EADA40271'); + $this->addSql('ALTER TABLE view CHANGE id id BINARY(16) NOT NULL, CHANGE video_id video_id BINARY(16) NOT NULL, CHANGE link_id link_id BINARY(16) DEFAULT NULL'); + $this->addSql('ALTER TABLE view ADD CONSTRAINT FK_FEFDAB8EADA40271 FOREIGN KEY (link_id) REFERENCES video_link (id) ON DELETE SET NULL'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE user CHANGE id id BINARY(16) NOT NULL, CHANGE creator_id creator_id BINARY(16) DEFAULT NULL'); + $this->addSql('ALTER TABLE video CHANGE id id BINARY(16) NOT NULL, CHANGE uploader_id uploader_id BINARY(16) NOT NULL'); + $this->addSql('ALTER TABLE video_link CHANGE id id BINARY(16) NOT NULL, CHANGE video_id video_id BINARY(16) NOT NULL, CHANGE creator_id creator_id BINARY(16) NOT NULL'); + $this->addSql('ALTER TABLE `view` DROP FOREIGN KEY FK_FEFDAB8EADA40271'); + $this->addSql('ALTER TABLE `view` CHANGE id id BINARY(16) NOT NULL, CHANGE video_id video_id BINARY(16) NOT NULL, CHANGE link_id link_id BINARY(16) NOT NULL'); + $this->addSql('ALTER TABLE `view` ADD CONSTRAINT FK_FEFDAB8EADA40271 FOREIGN KEY (link_id) REFERENCES video_link (id) ON DELETE CASCADE'); + } +} diff --git a/src/Entity/View.php b/src/Entity/View.php index 5227254..517bacf 100644 --- a/src/Entity/View.php +++ b/src/Entity/View.php @@ -30,7 +30,7 @@ class View /** * @ORM\ManyToOne(targetEntity=VideoLink::class) - * @ORM\JoinColumn(nullable=false, onDelete="CASCADE") + * @ORM\JoinColumn(nullable=true, onDelete="SET NULL") */ private $link;