Однако всякий раз, когда я изменяю структуру таблицы или отношения, мне приходится полагаться на GiiX для повторного создания модели.
Тебе это действительно не нужно,Yii design делает все поля таблицы доступными в качестве атрибутов в вашей модели.Таким образом, если вы добавите новое fieldX в вашу TableA, вы можете сразу же использовать $ modelA-> fieldX.Вам не нужно делать любое обновление в вашей модели.Yii «знает», что вы изменили таблицу.
См .:
«Хотя мы никогда не объявляем явно свойство title в классе Post, мы все равно можем получить к нему доступ в приведенном выше кодеЭто потому, что title - это столбец в таблице tbl_post, и CActiveRecord делает его доступным как свойство с помощью магического метода PHP __get () . Исключение будет выдано, если мы попытаемся получить доступ ктаким же образом и для несуществующего столбца. "
Источник: http://www.yiiframework.com/doc/guide/1.1/en/database.ar
For Yii users specifically, once you've been doing Yii for a while do you even bother with Gii or GiiX? Did you quit using it because it was no longer useful, or because it was a crutch? Did you work on writing your own code generation and scaffolding tools?
Я использую Gii во всех своих проектах для большинства моделей или генерации CRUD.Это очень полезно.Я могу настроить сгенерированный код так, как я хочу.Я даже сделал некоторые настройки для «скелета» генератора Gii, чтобы сгенерированный код был на моем языке, а не на английском, и с некоторыми методами / атрибутами мне нужно больше.
For all coders, do you feel code generation tools should be avoided when learning a new language or framework?
Нет, IMO.Сгенерированный код - еще один способ изучения.