После добавления первичных ключей в таблицу необходимо глушить sh кеш
Обновить sh кеш базы данных: Загрузить все таблицы приложения в схему
Yii::app()->db->schema->getTables()
;
очистить кеш всех загруженных таблиц
Yii::app()->db->schema->refresh();
Если вы хотите обновить sh только одну таблицу, вы также можете сделать:
Yii::app()->db->schema->getTable('tablename', true);
После что он работает нормально.