Перенос компонентов между БД

Перенос страниц, таблиц, форм, дашбордов.

Для этого у каждого комопонента справа вверху появляется значок переноса Перенос компонента </> (актуально для таблиц, форм, дашбордов). 

Для  страниц также используется подобный значок-кнопка. 

На базе А

Чтобы можно было выполнить экспорт компонентов из БД, она должна содержать следующие функции и процедуры, установленные в следующем порядке:

  • Функция split - на входе принимает строку, которую надо разбить, и символ, по которому будет выполняться разбивка. На выходе вернет построчно разбитую строку.
  • Функция as_system_getStringFromCode - на входе принимает код хранимой процедуры. На выходе возвращает строку с кодом хранимой процедуры, в котором строчные комментарии заменены на блочные.
  • Функция as_system_getSQL_procs - на входе принимает начальный фрагмент названия искомых процедур и overwrite (если 1 то перезапишет все, если 0 то добавит только, то чего не было). На выходе возвращает строку скрипта, включающего create для выбранных хранимых процедур
  • Процедуры - на входе принимают код компонента и overwrite (если 1 то перезапишет все, если 0 то добавит только, то чего не было). На выходе возвращает строку скрипта, включающего insert для данных о компоненте и create для выбранных хранимых процедур компонента
    • as_system_getSQL_page - переносит данные о странице (из таблицы pg_pages), и её хранимую процедуру pg_crumbs_{pageCode} - так называемый SQL страницы
    • as_system_getSQL_table - переносит данные о таблице и ее колонках (из таблиц as_crud_tables и as_crud_cols), хранимые процедуры списковых колонок _dict, и хранимые процедуры таблицы getItems, updateField, deteleField, fastCreate
    • as_system_getSQL_form - переносит данные о форме и ее колонках (из таблиц as_forms и as_formCols), хранимые процедуры списковых колонок _dict, и хранимые процедуры формы getItem, checkItem, saveItem
    • as_system_getSQL_dashboards - переносит данные о дашбордах и его панелях (as_dashboards и as_dashboardPanels), и все соответствующие им хранимые процедуры

Далее, чтобы получить скрипт для экспорта компонента (страницы, таблицы, формы или дашборда), запускаем соответствующую из четырех процедур следующим образом:

  • Выбираем Создать запрос
  • Выбираем пункт меню Запрос / Режим SQLCMD
  • В окне запроса пишем

:OUT D:\filename.txt

exec {Имя процедуры} '{Код компонента для экспорта}'

  • Находим по указанному выше пути файл filename.txt, открываем и копируем в нем всё, что под чертой:

Примечание: Запускать необходимо только по одному компоненту, иначе программа перезапишет все в один файл, накладывая код друг на друга

На базе Б

Запускаем скопированный скрипт, и у нас создается нужный компонент и прилагаемые к нему хранимые процедуры

Примечание