Есть ли возможность создать migration per entity?

Да, в Symfony существует возможность создания миграций для каждой сущности (entity).

Миграции в Symfony - это способ создания, изменения и удаления схемы базы данных. Они позволяют разработчикам контролировать изменения в структуре базы данных в рамках приложения. Миграции облегчают работу с базой данных и обеспечивают согласованность между разработчиками, даже если они работают над тем же проектом.

Создание миграции для каждой сущности может быть полезным в случае, если у вас есть несколько сущностей, которые будут изменяться или добавляться в вашу базу данных независимо друг от друга.

Для создания миграции для конкретной сущности вам необходимо выполнить несколько шагов:

1. Убедитесь, что у вас установлен и настроен DoctrineMigrationsBundle в вашем приложении Symfony. Если вы не сделали этого, выполните следующие команды в консоли, чтобы установить бандл и настроить его:

composer require doctrine/doctrine-migrations-bundle

2. Создайте новую миграцию с помощью команды make:migration. В качестве аргумента передайте имя миграции, например:

bin/console make:migration create_product_table

3. После выполнения этой команды Symfony создаст новый класс миграции в папке src/Migrations вашего проекта. Откройте этот файл и найдите пустые методы up и down.

4. В методе up вы можете написать SQL-код для создания таблицы или внесения изменений в существующую. Например, для создания таблицы "Product" вы можете использовать следующий код:

public function up(Schema $schema) : void
{
    $this->addSql('CREATE TABLE product (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
}

5. В методе down вы должны написать обратный код для удаления изменений, внесенных в up. Например:

public function down(Schema $schema) : void
{
    $this->addSql('DROP TABLE product');
}

6. После того, как вы определили все изменения, которые должны быть внесены в миграцию, сохраните файл и выполните команду doctrine:migrations:migrate, чтобы применить миграцию:

bin/console doctrine:migrations:migrate

Теперь у вас есть миграция, которая добавляет таблицу product в вашу базу данных. Если вам нужно создать миграцию для другой сущности, вы можете просто повторить эти шаги для каждой сущности, внося соответствующие изменения в методы up и down.

Этот подход позволяет создавать и применять миграции независимо для каждой сущности, что облегчает сопровождение и управление базой данных вашего приложения.