Для преобразования базы между любыми двумя модулями хранилища используется утилита sgconv (исходный код утилиты находится в каталоге projects/sgconv стандартной поставки системы). Утилита работает из каталога сборки без установки в ОС. Для сборки утилиты необходимо запустить скрипт ./build.
При запуске утилиты в качестве параметра можно передать путь к конфигурационному файлу. По умолчанию будет использован файл sgconv.conf из каталога сборки. Конфигурационный файл имеет такой-же формат, что и конфигурационный файл stargazer. Глобальный параметр ModulesPath указывает местонахождение модулей хранилища. Далее следуют две секции: <SourceStoreModule> и <DestStoreModule>. Они описывают, соответственно, источник данных и их приемник. Так, например, для переноса всей информации из БД на основе файлов в БД Firebird необходимо в первой секции прописать параметры файлового хранилища, а во второй — хранилища Firebird.
Пример файла конфигурации:
# Путь к директории, в которой находятся модули сервера ModulesPath = ../stargazer/modules ################################################################### # Store module # Настройки плагина работающего с БД сервера # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_store_files.so <SourceStoreModule store_files> # Рабочая директория сервера, тут содержатся данные о тарифах, пользователях, # администраторах и т.д. WorkDir = /var/stg-test # Владелец, группа и права доступа на файлы статистики (stat) пользователя ConfOwner = root ConfGroup = wheel ConfMode = 600 # Владелец, группа и права доступа на файлы конфигурации (conf) пользователя StatOwner = root StatGroup = wheel StatMode = 640 # Владелец, группа и права доступа на лог-файлы (log) пользователя UserLogOwner = root UserLogGroup = wheel UserLogMode = 640 </SourceStoreModule> <DestStoreModule store_firebird> server = localhost database = /var/stg/stargazer.fdb user = stg password = 123456 </DestStoreModule> #<DestStoreModule store_mysql> # # Имя пользователя БД # dbuser = stg # # # Пароль пользователя БД # rootdbpass = 123456 # # # Имя БД на сервере # dbname = stg # # # Адрес сервера БД # dbhost = localhost #</DestStoreModule>