user: add location to user entity

This commit is contained in:
nobohan 2021-11-16 17:35:58 +01:00
parent f11df95f59
commit 02f6a1d110
2 changed files with 58 additions and 0 deletions

View File

@ -6,6 +6,7 @@ use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\ArrayCollection;
use Chill\MainBundle\Entity\UserJob;
use Chill\MainBundle\Entity\Location;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
use Symfony\Component\Validator\Context\ExecutionContextInterface;
use Symfony\Component\Serializer\Annotation\DiscriminatorMap;
@ -138,6 +139,12 @@ class User implements AdvancedUserInterface {
*/
private ?UserJob $userJob = null;
/**
* @var Location|null
* @ORM\ManyToOne(targetEntity=Location::class)
*/
private ?Location $location = null;
/**
* User constructor.
*/
@ -485,4 +492,22 @@ class User implements AdvancedUserInterface {
$this->userJob = $userJob;
return $this;
}
/**
* @return Location|null
*/
public function getLocation(): ?Location
{
return $this->location;
}
/**
* @param Location|null $location
* @return User
*/
public function setLocation(?Location $location): User
{
$this->location = $location;
return $this;
}
}

View File

@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace Chill\Migrations\Main;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Add location to User entity
*/
final class Version20211116162847 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add location to User entity';
}
public function up(Schema $schema): void
{
$this->addSql('ALTER TABLE users ADD location_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE users ADD CONSTRAINT FK_1483A5E964D218E FOREIGN KEY (location_id) REFERENCES chill_main_location (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX IDX_1483A5E964D218E ON users (location_id)');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE users DROP CONSTRAINT FK_1483A5E964D218E');
$this->addSql('DROP INDEX IDX_1483A5E964D218E');
$this->addSql('ALTER TABLE users DROP location_id');
}
}