Мое приложение Symfony использует Doctrine для сохранения сущностей в mysql.
Сегодня я обновил свои сущности "Рекламодатель" и "Отчет", чтобы между ними были взаимосвязи - как предлагается в этом посте: При использовании EntityType для отображения выбора не удается сохранить сущность из формы Symfony
Когда я пытаюсь создать миграцию, он говорит, что база данных уже синхронизирована.
php bin/console make:migration
Возвращает: [ПРЕДУПРЕЖДЕНИЕ] Изменения базы данных не были обнаружены.Схема базы данных и информация о сопоставлении приложения уже синхронизированы.
Однако, если я посмотрю таблицу для отчета, то у нее все еще будет старая схема:
+---------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| advertiser_id | int(11) | NO | MUL | NULL | |
| start_date | date | NO | | NULL | |
| end_date | date | NO | | NULL | |
| deleted | tinyint(1) | NO | | NULL | |
+---------------+------------+------+-----+---------+----------------+
Даже еслимоя сущность теперь выглядит так:
class Report
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="date")
*/
private $start_date;
/**
* @ORM\Column(type="date")
*/
private $end_date;
/**
* @ORM\Column(type="boolean")
*/
private $deleted;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Advertiser", inversedBy="reports")
* @ORM\JoinColumn(nullable=false)
*/
private $advertiser;
public function getId(): ?int
{
return $this->id;
}
public function getStartDate(): ?\DateTimeInterface
{
return $this->start_date;
}
public function setStartDate(\DateTimeInterface $start_date): self
{
$this->start_date = $start_date;
return $this;
}
public function getEndDate(): ?\DateTimeInterface
{
return $this->end_date;
}
public function setEndDate(\DateTimeInterface $end_date): self
{
$this->end_date = $end_date;
return $this;
}
public function getDeleted(): ?bool
{
return $this->deleted;
}
public function setDeleted(bool $deleted): self
{
$this->deleted = $deleted;
return $this;
}
public function getAdvertiser(): ?Advertiser
{
return $this->advertiser;
}
public function setAdvertiser(?Advertiser $advertiser): self
{
$this->advertiser = $advertiser;
return $this;
}
}
Я искал решения и пробовал их, но не повезло:
php bin/console doctrine:cache:clear-metadata
php bin/console doctrine:schema:update --force
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложенияо том, как я могу обновить свою базу данных с моей обновленной схемой.