Дополнительные changeColumns в Doctrine generate-migrations-diff

Я генерирую миграцию между различными файлами схемы yaml: ie running:

symfony doctrine: generate-migrations-diff

И в результате файл миграции имеет целый набор вызовов changeColumn, которые не были добавлены в последнее изменение файла схемы.

Например, если вы запускаете generate-migrations-diff, не изменяя свой файл схемы, вы должны получить пустую функцию up (). Тем не менее, функция, которая появляется для меня, имеет вызов changeColumn для практически каждой таблицы в моей базе данных.

Я что-то делаю неправильно или это ошибка?

Related of "Дополнительные changeColumns в Doctrine generate-migrations-diff"

Функция generate-migrations-diff не различает два разных файла yaml. Он фактически сравнивает ваши модели и ваш файл yaml, а затем создает миграцию на основе различий. Если вы начинаете с db, который синхронизируется с вашим yaml и классами, ваш рабочий процесс для изменения схемы должен быть:

  1. Изменить файл yaml
  2. generate-migrations-diff, чтобы различать текущий (измененный) yaml с вашими (неизмененными) моделями. Это создаст файл миграции в вашем каталоге doctrine / migrations (или любой параметр migrations_path установлен в вашей конфигурации доктрины).
  3. выполнить миграцию, чтобы выполнить миграцию, созданную на шаге 2, и изменить свою базу данных
  4. generate-models-yaml для создания новых классов на основе вашего файла yaml. Они идут, где вы указали, что сгенерированные модели идут (models_path в вашей конфигурации доктрины).
  5. generate-sql для создания файла SQL. Это пойдет туда, где установлена ​​ваша конфигурация sql_path вашего доктрины.