Коллеги, не знаю как починить. Ставить все заново неохота. Помогите чем сможете:
Сборка Drupal Acquia. Модули Content 6x 2.2, Textfield 6x 2.2
1) Делаю новый тип ноды "quotes". Ошибок нет.
2) Добавляю новое текстовое поле к нему "tmp".
Получаю:
* user warning: Table 'content_type_quotes' already exists query: CREATE TABLE iw_ua.content_type_quotes ( `vid` INT unsigned NOT NULL DEFAULT 0, `nid` INT unsigned NOT NULL DEFAULT 0, PRIMARY KEY (vid), INDEX nid (nid) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in Z:\home\www.*******.ua\www\includes\database.inc on line 515.
* user warning: Table 'content_type_quotes' already exists query: CREATE TABLE iw_ua.content_type_quotes ( `vid` INT unsigned NOT NULL DEFAULT 0, `nid` INT unsigned NOT NULL DEFAULT 0, `field_tmp_value` LONGTEXT DEFAULT NULL, PRIMARY KEY (vid), INDEX nid (nid) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in Z:\home\www.******.ua\www\includes\database.inc on line 515.
Но тип сохраняет с новым полем.
3) При попытке добавить новую ноду "quotes" не сохраняет информацию из текстового поля "tmp". Выдает предупреждение:
warning: Invalid argument supplied for foreach() in Z:\home\www.*****.ua\www\modules\acquia\cck\content.module on line 1016.
Эта строка в модуле:
case 'insert':
case 'update':
foreach ($type['tables'] as $table) {>
$schema = drupal_get_schema($table);
$record = array();
(1016-->) foreach ($schema['content fields'] as $field_name) {
if (isset($node->$field_name)) {
$field = content_fields($field_name, $type_name);
// Multiple fields need specific handling, we'll deal with them later on.
if ($field['multiple']) {
continue;
}
При трассировке вижу что переменная $schema во-первых при выполнении этого кода равно 0, во-вторых, в других местах не содержит в себе описания для таблицы content_type_quotes.
На полностью чистом Druapl 6.10 ситуация повторилась. На полностью чистой последней сборке Acquia все заработало.
СПАСИБО in advance за помощь!
Комментарии
Проблема была в мультисайтинге.
в settings.php было
$db_prefix = array (
'default' => 'какое то значение',
...
убрав "какое то значение" начал нормально зсписывать в БД