бред в работе shell команды при создании модели

вообщем наткнулся на такое бредовое с моей точки зрения поведение фреймворка

багрепорт пока не написал, бо забыл на работе посмотреть ревизию (но точно не древняя)

суть бреда

если создать таблицу в MySQL с полем типа

aaa INT(10) UNSIGNED NOT NULL

то Yii создаст модель с таким описанием




/**

 * ....

 * @property string $aaa

 */

class Test exetends CActiveRecord

{

....

  public function rules()

  {

     array('aaa', 'length', 'max'=>10)

     ....

  }

}



вот теперь вопрос какого!!! такое происходит для положительных чисел

почему тип поля строка и почему не создаеться правило




     array('aaa', 'numerical', 'integerOnly'=>true, 'min'=>0)



завтра гляну еще разок и пошлю тогда багрепорт

ЗЫ.

увидел я конечно это после выполнения команды шел

но так побырику прошерстив код фреймворка - класс БД схем не правильно определяет тип колонки таблици

что сказать…

Qiang ответили что положительный 32битные значение могут неправильно обрабатываться PHP

но интерпретировать число как строку да еще и с правилом проверки длинны это ИМХО не правильно.

Причем это правило одианоков пропустит

как "4294967297" так и "9999999999" так и любую строку длинной в 10 символов - результат будет еще более не предсказуемый.

Положительные TINYINT, SMALLINT, MEDIUMINT - обрабатываються правильно.

Но даже

INT(9) UNSIGNED - который полностью помещаеться в 32 бита и не вызовет проблем при работе

все равно интерпритируеться как строка.

Более того Yii не проверяет PHP_INT_SIZE, потому что если бы проверял то было бы видно что на 64битных платформах INT UNSIGNED вообще не вызвал бы никаких проблем.

вообщем я не знаю как это делаеться в Google Code (имеюю ввиду как проголосовать за изменения)

но кому не нравиться такое поведение отпишитесь в

http://code.google.com/p/yii/issues/detail?id=3085