В зависимости от типа базы данных и ОС, тест может выдавать «ложные отрицания», что означает, что ваша база данных уже в порядке, но Doctrine не совсем понимает.Это случилось со мной в нескольких проектах, независимо от версии Symfony (что означает, Symfony 2,3 и 4).
Кроме того, в Symfony 4 вы можете использовать миграции, как описано в документации , то есть:
bin/console make:migration
эта команда создаст файл миграции внутри src/Migrations
, но не коснется БД.
Чтобы понять, что происходит (с точки зрения доктрины) вы можете взглянуть на файл миграции: это класс PHP с двумя методами (up()
и down()
).
Метод up()
будет содержать запрос / запросы, необходимые для выравнивания базы данных с файлами сопоставления.
Чтобы применить все ожидающие миграции, выполните:
bin/console doctrine:migrations:migrate