diff --git a/migrations/Version20231001110934.php b/migrations/Version20231001110934.php new file mode 100644 index 0000000..3e2b772 --- /dev/null +++ b/migrations/Version20231001110934.php @@ -0,0 +1,36 @@ +addSql('ALTER TABLE release ADD owner_id INT NOT NULL'); + $this->addSql('ALTER TABLE release ADD CONSTRAINT FK_9E47031D7E3C61F9 FOREIGN KEY (owner_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_9E47031D7E3C61F9 ON release (owner_id)'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE SCHEMA public'); + $this->addSql('ALTER TABLE release DROP CONSTRAINT FK_9E47031D7E3C61F9'); + $this->addSql('DROP INDEX IDX_9E47031D7E3C61F9'); + $this->addSql('ALTER TABLE release DROP owner_id'); + } +} diff --git a/src/Entity/Release.php b/src/Entity/Release.php index a43f664..9cf730e 100644 --- a/src/Entity/Release.php +++ b/src/Entity/Release.php @@ -21,6 +21,10 @@ class Release #[ORM\ManyToMany(targetEntity: Artist::class, inversedBy: 'releases')] private Collection $artists; + #[ORM\ManyToOne(inversedBy: 'releases')] + #[ORM\JoinColumn(nullable: false)] + private ?User $owner = null; + public function __construct() { $this->artists = new ArrayCollection(); @@ -66,4 +70,16 @@ class Release return $this; } + + public function getOwner(): ?User + { + return $this->owner; + } + + public function setOwner(?User $owner): static + { + $this->owner = $owner; + + return $this; + } }