Я хочу получить подробную информацию о рекомендуемом рабочем процессе для Yii. Представьте, что у вас уже есть база данных и какая-то модель для нее. И в один прекрасный день вам нужно добавить новое поле в модель. В Django вы можете просто изменить файл models.py, а затем запустить manage.py makemigrations & & manage.py migrate - он будет анализировать изменения, создавать файл миграции и применять изменения в базе данных. Но что я должен делать в Yii?Миграции + изменение модели в Yii
Я вижу только после пути из документации и руководств:
- Создать пустую миграцию
- Попробовать написать необходимые изменения в синтаксисе Yii-миграции (это может быть не столь очевидно для изменения столбца и добавления иностранного ключи, сложнее, чем просто писать SQL-запросы).
- Запуск
yiic migrate
- Сгенерируйте код модели с помощью Gii для новой структуры базы данных и скопируйте новые поля в существующий файл модели.
С моей точки зрения, это приводит к большим бесполезной работы путем создания миграции в дополнение к модификации модели. Таким образом, вместо того, чтобы просто модифицировать модель, как в Django, я должен использовать странный синтаксис миграции в Yii, а затем модифицировать модель вручную. Это действительно так, как он должен работать? Невозможно ли это как-то упростить?
Скорее всего, мне нужно будет добавить некоторые методы, работающие с новым полем (если я добавлю новое поле) к модели, поэтому он не будет «нетронутым». Но все-таки, спасибо за идею, есть в этом какой-то момент. –