Add an owner to a release
NOT the artist·s but the user who own this release on this instance.
This commit is contained in:
parent
4bc44971a2
commit
3e86499e10
36
migrations/Version20231001110934.php
Normal file
36
migrations/Version20231001110934.php
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<?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 Version20231001110934 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('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');
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,6 +21,10 @@ class Release
|
||||||
#[ORM\ManyToMany(targetEntity: Artist::class, inversedBy: 'releases')]
|
#[ORM\ManyToMany(targetEntity: Artist::class, inversedBy: 'releases')]
|
||||||
private Collection $artists;
|
private Collection $artists;
|
||||||
|
|
||||||
|
#[ORM\ManyToOne(inversedBy: 'releases')]
|
||||||
|
#[ORM\JoinColumn(nullable: false)]
|
||||||
|
private ?User $owner = null;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->artists = new ArrayCollection();
|
$this->artists = new ArrayCollection();
|
||||||
|
@ -66,4 +70,16 @@ class Release
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getOwner(): ?User
|
||||||
|
{
|
||||||
|
return $this->owner;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setOwner(?User $owner): static
|
||||||
|
{
|
||||||
|
$this->owner = $owner;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue