Skip to content

Commit 903e0cc

Browse files
committed
Init migration
1 parent 55d749d commit 903e0cc

File tree

4 files changed

+979
-4
lines changed

4 files changed

+979
-4
lines changed

src/Domain/Subscription/Model/UserBlacklist.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class UserBlacklist implements DomainModel
2121
#[ORM\Column(name: 'added', type: 'datetime', nullable: true)]
2222
private ?DateTime $added = null;
2323

24-
#[ORM\OneToOne(targetEntity: UserBlacklistData::class, mappedBy: 'email')]
24+
#[ORM\OneToOne(targetEntity: UserBlacklistData::class, mappedBy: 'blacklist', cascade: ['persist', 'remove'])]
2525
private ?UserBlacklistData $blacklistData = null;
2626

2727
public function getEmail(): string
@@ -50,4 +50,13 @@ public function getBlacklistData(): ?UserBlacklistData
5050
{
5151
return $this->blacklistData;
5252
}
53+
54+
public function setBlacklistData(?UserBlacklistData $data): self
55+
{
56+
$this->blacklistData = $data;
57+
if ($data && $data->getBlacklist() !== $this) {
58+
$data->setBlacklist($this);
59+
}
60+
return $this;
61+
}
5362
}

src/Domain/Subscription/Model/UserBlacklistData.php

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,30 @@
1515
class UserBlacklistData implements DomainModel
1616
{
1717
#[ORM\Id]
18-
#[ORM\Column(name: 'email', type: 'string', length: 150)]
19-
private string $email;
18+
#[ORM\OneToOne(targetEntity: UserBlacklist::class, inversedBy: 'blacklistData')]
19+
#[ORM\JoinColumn(name: 'email', referencedColumnName: 'email', nullable: false, onDelete: 'CASCADE')]
20+
private UserBlacklist $blacklist;
2021

2122
#[ORM\Column(name: 'name', type: 'string', length: 25)]
2223
private string $name;
2324

2425
#[ORM\Column(name: 'data', type: 'text', nullable: true)]
2526
private ?string $data = null;
2627

28+
public function getBlacklist(): UserBlacklist
29+
{
30+
return $this->blacklist;
31+
}
32+
33+
public function setBlacklist(UserBlacklist $blacklist): self
34+
{
35+
$this->blacklist = $blacklist;
36+
return $this;
37+
}
38+
2739
public function getEmail(): string
2840
{
29-
return $this->email;
41+
return $this->blacklist->getEmail();
3042
}
3143

3244
public function getName(): string
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace PhpList\Core\Migrations;
6+
7+
use Doctrine\DBAL\Schema\Schema;
8+
use Doctrine\Migrations\AbstractMigration;
9+
10+
/**
11+
* Manual Migration
12+
*/
13+
final class Version20251028092901 extends AbstractMigration
14+
{
15+
public function getDescription(): string
16+
{
17+
return '';
18+
}
19+
20+
public function up(Schema $schema): void
21+
{
22+
// this up() migration is auto-generated, please modify it to your needs
23+
$this->addSql(file_get_contents(__DIR__.'/initial_schema.sql'));
24+
}
25+
26+
public function down(Schema $schema): void
27+
{
28+
// this down() migration is auto-generated, please modify it to your needs
29+
}
30+
}

0 commit comments

Comments
 (0)