Ошибка при обновлении модуля feeds - невозможно преобразовать text в bytea на не пустой таблице

Главные вкладки

Аватар пользователя Ujean Ujean 19 октября 2012 в 15:41

Возникла проблема при обновлении feeds до 7.x-2.0-alpha6

Вчера обновился с 7.15 до 7.16. Само обновление прошло без проблем
Потом обновил feeds c 7.x-2.0-alpha5 до 7.x-2.0-alpha6
При выполнении update.php встало на ошибке

The following updates returned messages
feeds module
Update #7207

Failed: PDOException: SQLSTATE[22P02]: Invalid text representation: 7 ОШИБКА: неверный синтаксис для типа bytea: ALTER TABLE {feeds_importer} ALTER "config" TYPE bytea USING "config"::bytea; Array ( ) in db_change_field() (line 2988 of /srv/www/htdocs/includes/database/database.inc).

Запрос ALTER TABLE feeds_importer ALTER "config" TYPE bytea USING "config"::bytea; postresql считает неверным.
А запрос ALTER TABLE feeds_importer ALTER "config" TYPE bytea возвращает
ОШИБКА: колонку "config" нельзя привести к типу bytea

Проблема решается если удалить всё содержимое таблиц feeds_importer и feeds_source, выполнить update.php и завести настройки Feeds заново.
Но что делать в будущем, если тип поля будет изменяться на таблице с несравненно большим количеством строк?
И как эту проблему можно решить не удаляя строки?

Неверный запрос формируется в
includes/database/pgsql/schema.inc.DatabaseSchema_pgsql->changeField:533
$this->connection->query('ALTER TABLE {' . $table . '} ALTER "' . $field . '" TYPE ' . $typecast . ' USING "' . $field . '"::' . $typecast);