Нашел у https://www.olegpro.ru/post/skripty_migraciy_dlya_1s_bitriks_dobavlenie_svoystv_k_infobloku.html самописные миграции
Скопировал к себе код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
/** * Добавление свойств к инфоблоку. * в массиве $arProperties нужно описать список свойств * @doc http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockproperty/add.php документация по добавлению свойств * @doc http://dev.1c-bitrix.ru/api_help/iblock/fields.php#fproperty документация по списку свойств доп. поля */ /** @var CMain $APPLICATION */ global $APPLICATION; $errors = array(); $info = array(); if(\Bitrix\Main\Loader::includeModule('iblock')){ $arProperties = array( array( 'NAME' => 'Величина скидки на аренду, в процентах', 'ACTIVE' => 'Y', 'SORT' => 500, 'CODE' => 'RENT_SALE_PERCENT', 'IBLOCK_ID' => 1, 'PROPERTY_TYPE' => 'N', // Тип свойства. Возможные значения: S - строка, N - число, F - файл, L - список, E - привязка к элементам, G - привязка к группам. ), ); foreach ($arProperties as $arProperty) { $resProperty = CIBlockProperty::GetList( array(), array('CODE' => $arProperty['CODE'], 'IBLOCK_ID' => $arProperty['IBLOCK_ID']) ); while($arHasProperty = $resProperty->Fetch()){ $errors[] = sprintf("Ошибка: [2] Свойство c кодом %s уже существует.<br>\nИнформация по свойству: <pre>%s</pre>", $arProperty['CODE'], var_export($arHasProperty, true)); } if(!empty($errors)) continue; $ibp = new CIBlockProperty; if(($propID = $ibp->Add($arProperty))){ $info[] = sprintf('Информация: Свойство «%s» [%d] успешно добавлено', $arProperty['NAME'], $propID); }else{ if(($ex = $APPLICATION->GetException())){ $errors[] = sprintf('Ошибка: [3] %s', $ex->GetString()); } if(isset($ibp->LAST_ERROR)){ $errors[] = sprintf('Ошибка: [4] %s', $ibp->LAST_ERROR); } } } }else{ $errors[] = 'Ошибка: [1] Модуль информационных блоков не подключен'; } echo implode("<br>\n", $errors); echo implode("<br>\n", $info); |
2)есть другой подход к миграциям
http://epages.su/blog/migratsii-bazy-dannykh-v-1s-bitirks-proektakh-s-ispolzovaniem-phinx.html
3. еще много вариантов на гитхабе