| О программе Скачать Цены Клиенты Поддержка Партнеры Контакты | ![]() |
|
| Служба поддержки Вопрос-ответ Документация О разработчиках |
Просто поменять DATABASE_ENGINE в PROFILE_DIR/share/settings.yaml нельзя, т.к. база при этом будет пустая. Правильный способ (например, если сейчас используется MySQL, но хочется переехать на PostgreSQL):
Сделать бекапы всего и вся. Если у вас sqlite -- скопируйте всю папку с профилем и файлом бд куда-нибудь. Если mysql или postgresql -- то нужно скопировать папку с профилем и плюс сделать дамп с сервера базы данных (пример для mysql: mysqldump -u USER -pPASS DATABASENAME > mysqldbdump.sql).
ipi-admin backup > data.ipidump
postgres=#: CREATE DATABASE ipimanager;или:
mysql> CREATE DATABASE ipimanager CHARSET utf8 COLLATE utf8_general_ci;
Отредактировать PROFILE_DIR/share/settings.yaml. Для помощи по настройкам см. Настройки профилей. Например, для нашей новой базы в PostgreSQL:
DATABASE_ENGINE: postgresql_psycopg2
DATABASE_NAME: ipimanager
DATABASE_USER: dbuser
DATABASE_PASSWORD: dbpassipi-admin upgrade --force --yes
Теперь нужно восстановить данные, которые мы сбекапили в третьем шаге. Стоит обратить внимание что restore убивает все данные которые есть в новой базе (если есть), но ничего не делает со структурой данных. То есть, если вы вместо создания новой бд для IPI.Manager указали в настройках какую-либо старую с чужими данными в таблицах -- IPI.Manager УДАЛИТ ВСЁ, превратив базу в точное состояние первой базы перед бекапом данных (п3). Аналогично, если указать в этом профиле базу данных другого профиля -- все данные от другого профиля будут затёрты новыми.
ipi-admin restore < data.ipidump
Теперь можно запустить внутренние тесты, чтобы проверить что все в порядке. Если будут какие-либо ошибки, это может говорить либо о проблемах этой версии IPI.Manager с Вашей операционной системой, либо с Вашей версией сервера базы данных. В любом случае необходимо сразу связаться с компанией-разработчиком для дальнейших инструкций. Команда selftest является "скрытой" (не показывается при ipi-admin help, но показывается при ipi-admin help --internal). Обратите внимание, внутреннее тестирование создаёт новую базу данных автоматически для теста (test_DBNAME), тем самым тестирование ни в коем случае не производится на данных основной базы, и никак их не затрагивает. Но, зато пользователю базы необходимы права на создание новой бд. В случае sqlite -- будет создан (и, затем, удалён) новый файл test_DBNAME.sqlite (DBNAME - название основной бд). В случае mysql/postgresql все несколько сложнее, т.к. пользователю нужно (вероятно, временно) дать гранты на CREATE DATABASE. Описание о том как это сделать смотрите в документации к своей бд. Запуск же комманды - просто:
ipi-admin selftest
- назад к Руководству администратора
| Конфиденциальность Правовые ограничения Лицензия Контактная информация | © 1998-2012 |
|