Команда doctrine:schema:validate
Команда doctrine:schema:validate сравнивает описание сущностей
Doctrine с реальной структурой базы данных и сообщает о расхождениях.
Первым параметром можно передать опцию --skip-mapping,
которая пропускает проверку маппинга, а опция --skip-sync
пропускает проверку синхронизации с базой данных.
Синтаксис
php bin/console doctrine:schema:validate [options]
Пример
Давайте запустим проверку схемы в проекте Symfony:
php bin/console doctrine:schema:validate
Результат выполнения команды:
[Mapping] OK - The mapping files are correct.
[Database] OK - The database schema is in sync with the mapping files.
Пример
Давайте создадим сущность Article с полем string,
чтобы проверить маппинг:
<?php
namespace AppEntity;
use DoctrineORMMapping as ORM;
#[ORMEntity]
#[ORMTable(name: 'article')]
class Article
{
#[ORMId]
#[ORMGeneratedValue]
#[ORMColumn(type: 'integer')]
private ?int $id = null;
#[ORMColumn(type: 'string', length: 255)]
private string $title = '';
public function getId(): ?int
{
return $this->id;
}
public function getTitle(): string
{
return $this->title;
}
public function setTitle(string $title): self
{
$this->title = $title;
return $this;
}
}
?>
Теперь запустим проверку синхронизации с базой данных:
php bin/console doctrine:schema:validate --skip-mapping
Результат выполнения команды:
[Database] OK - The database schema is in sync with the mapping files.
Смотрите также
-
команда
doctrine:schema:update,
которая обновляет схему базы данных -
команда
doctrine:database:create,
которая создаёт базу данных -
команда
doctrine:migrations:diff,
которая генерирует миграцию по разнице схем -
команда
doctrine:migrations:migrate,
которая применяет миграции к базе данных