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

Смотреть видео

Смотреть видео Перенос пакетов sql    https://rutube.ru/video/private/a50b067e66387943657a00e7bc627647/?p=W58jJB2x3n103_JiLtUX_A

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

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

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

На базе-источнике 

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

  • Функция 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, открываем и копируем в нем всё, что под чертой

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

На другой базе данных (куда копируем объекты) 

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

P.S. Также есть специальный механизм переноса целых подсистем (transferPackages). О нем рассказано в видео, прикрепленном к данной статье.

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK