[РЕШЕНО]Обновление с 6 на 7, проблема с Migrate fields

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

Аватар пользователя Sora_tm Sora_tm 13 октября 2014 в 9:37

ДОбрый день!
Обновляю движок, столкнулся с такой проблемой, одно поле в никакую не переносится из-за того, что поле в 6 было не ограничено по длине.

Вылазит предпреждение:

«Invalid field/widget combination: The field 'field_annotation' in the bundle 'news' is an unlimited length field using a textfield widget, not allowed in D7. The field length will be set to 255.»

Но при запуске переноса все падает с такими ошбками

Requesting rollback of field "field_annotation" due to failure to convert record:

array ( 'entity_id' => '600', 'revision_id' => '600', 'field_annotation_value' => 'Светлана Шаповаленко обратилась к Дмитрию Медведеву с просьбой о помощи, так как её не могут защитить ни милиция, ни криминал. В интернете появилось видеобращение жительницы Кондопоги под названием "Крестные отцы Карелии", которое вызвало огромный резонанс в нашей республике.', 'field_annotation_format' => '2', 'entity_type' => 'node', 'language' => 'und', 'delta' => '0', 'bundle' => 'news', )

Cause:

exception 'PDOException' with message 'SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'field_annotation_value' at row 1' in C:\OpenServer\domains\ptzmigrate\includes\database\database.inc:2171 Stack trace: #0 C:\OpenServer\domains\ptzmigrate\includes\database\database.inc(2171): PDOStatement->execute(Array) #1 C:\OpenServer\domains\ptzmigrate\includes\database\database.inc(683): DatabaseStatementBase->execute(Array, Array) #2 C:\OpenServer\domains\ptzmigrate\includes\database\mysql\query.inc(36): DatabaseConnection->query('INSERT INTO {fi...', Array, Array) #3 C:\OpenServer\domains\ptzmigrate\includes\common.inc(7202): InsertQuery_mysql->execute() #4 C:\OpenServer\domains\ptzmigrate\sites\all\modules\cck\modules\content_migrate\includes\content_migrate.admin.inc(432): drupal_write_record('field_data_fiel...', Array) #5 [internal function]: _content_migrate_batch_process_migrate_data('field_annotatio...', Array) #6 C:\OpenServer\domains\ptzmigrate\includes\batch.inc(284): call_user_func_array('_content_migrat...', Array) #7 C:\OpenServer\domains\ptzmigrate\includes\batch.inc(161): _batch_process() #8 C:\OpenServer\domains\ptzmigrate\includes\batch.inc(80): _batch_do() #9 C:\OpenServer\domains\ptzmigrate\modules\system\system.admin.inc(2377): _batch_page() #10 [internal function]: system_batch_page() #11 C:\OpenServer\domains\ptzmigrate\includes\menu.inc(517): call_user_func_array('system_batch_pa...', Array) #12 C:\OpenServer\domains\ptzmigrate\index.php(21): menu_execute_active_handler() #13 {main}

И усе. Есть идея в базе ограничить длину поля, нашел таблицу

content_node_field_instance

В ней свое поле. Я так понимаю длина должна быть записана в поле widget_settings

a:4:{s:4:"rows";i:5;s:4:"size";s:3:"400";s:13:"default_value";a:1:{i:0;a:2:{s:5:"value";s:0:"";s:14:"_error_element";s:48:"default_value_widget][field_annotation][0][value";}}s:17:"default_value_php";N;}

Но где тут длина, понять не могу, может кто сталкивался?

Комментарии

Аватар пользователя Sora_tm Sora_tm 17 октября 2014 в 10:23

VasyOK wrote:
Ну так а зачем в 7-ке вы сделали это ограничение по длинне?

Я не делал ограничения, в том то и дело. Я обновляю 6 на 7, материалы перенеслись, но одно поле, конкретно текстовое не хочет. Migrate fields выдает ошибку. В 6 поле было не ограниченно по длине, а в 7, я так понял, встроенное ограничение на текстовые поля 255.

Аватар пользователя VasyOK VasyOK 17 октября 2014 в 12:41

1. Ограничение - оно на текстовое поле. А вам надо сделать текстовую область. И в нее заливать.
2. "Аннотация" это вообще надо?
Это отдельная текстовая область?
Или текст до тизера другой текстовой области? Если да - оно не надо, т.к. текст до <!--teaser--> выведется где нужно

Аватар пользователя Sora_tm Sora_tm 11 ноября 2014 в 23:30

Короче в итоге решил так, снес все, взял снова базу 6 там в настройках поля ограничил длину, и заново сделал апгрейд, после все пошло ОК.