В Iris CRM починаючи з версії 3.1 вбудований розділ Адміністрування → Оновлення. Він призначений для спрощення процесу оновлення системи до останньої версії.
Важливо відзначити, що оновлення можливо виконати двома способами.
Перенесення даних зі старої (робочої) бази в нову
Перенести інформацію і структуру бази зі старої бази в нову. Цим способом переважно користуватися, якщо Ви не робили значущих змін бази, не змінювали довідників і розмір Вашої бази не великий.
У чому полягає оновлення
Невелике теоретичне відступ.
При оновленні системи необхідно оновити файли системи і бази даних.
Складність полягає в тому, що у Вашій версії CRM системи і в версії, до якої Ви вирішили оновитися, може бути різна структура бази даних і можуть відрізнятися файли конфігурації.
Таким чином, при оновленні необхідно вирішити такі завдання в наступному порядку.
- Створити резервні копії бази даних і файлів системи.
- Створити нову базу даних для нової версії CRM системи.
- Синхронізувати структуру бази даних (перенести додаткові таблиці і колонки з робочої бази в нову).
- Перенести дані з робочої бази в нову.
- Перенести зміни файлів конфігурації з робочої бази в нову.
Щоб спростити ці дії, в систему вбудований розділ Адміністрування → Оновлення. який автоматизує етапи 3 і 4.
виконуємо оновлення
Для виконання оновлення, виконайте наведені дії.
Перенесення структури даних з нової бази в стару (робочу)
Перенести структуру бази даних і необхідну інформацію з нової бази в стару. Використовуйте цей спосіб, якщо у Вас об'ємна база або якщо Ви змінювали довідники.
У чому полягає оновлення
Невелике теоретичне відступ.
При оновленні системи необхідно оновити файли системи і бази даних.
Складність полягає в тому, що у Вашій версії CRM системи і в версії, до якої Ви вирішили оновитися, може бути різна структура бази даних і можуть відрізнятися файли конфігурації.
Таким чином, при оновленні необхідно вирішити такі завдання в наступному порядку.
- Створити резервні копії бази даних і файлів системи.
- Створити нову базу даних нової версії CRM системи.
- Синхронізувати структуру бази даних (перенести додаткові таблиці і колонки з нової бази в робочу).
- Перенести тільки необхідні дані з нової бази в робочу.
- Перенести зміни файлів конфігурації з нової бази в робочу.
Щоб спростити ці дії, в систему вбудований розділ Адміністрування → Оновлення. який автоматизує етапи 3 і 4.
виконуємо оновлення
Для виконання оновлення, виконайте наведені дії.
Рішення можливих проблем
Можливі проблеми і способи їх вирішення.
При створенні скрипта поновлення з'являється наступне повідомлення.
Причина. В фізичну структуру БД така таблиця відсутня, а в мета записах вона ще не вилучена.
Рішення. Видаліть цю таблицю з розділу Таблиці та Групи таблиць. Зайдіть в Вашу робочу версію системи в розділ Адміністрування → Групи таблиць. Виберіть групу таблиць Рішення і видаліть з цієї групи таблиць таблицю iris_answer_comment. Зайдіть в розділ Адміністрування → Таблиці та видаліть таблицю iris_answer_comment.
Для видалення також можна скористатися скриптом.
При підготовці скрипта оновлення бази виникає наступне повідомлення.
Причина. У робочій базі немає таблиці iris_table_column.
Рішення. Додати і заповнити таблицю iris_table_column. У цій таблиці міститься опис усіх колонок системи. У системі близько 200 таблиць. У кожній таблиці в середньому по 10 колонок. Вручну заповнювати цю таблицю не доцільно. Для автоматичного створення і заповнення цієї таблиці виконайте скрипт з pgAdmin.
Скрипт для створення і заповнення iris_table_column.
При виконанні підготовленого скрипта виникає наступна помилка.
Причина. При підготовці SQL скрипта не було знайдено відповідного типу для колонки в таблиці iris_ColumnType (довідник Типи колонок таблиць).
Рішення. Додайте потрібний тип в таблицю iris_ColumnType (довідник Типи колонок таблиць), повторіть створення скрипта і спробуйте ще раз виконання скрипта. Або самостійно подкорректируйте SQL скрипт.
При виконанні підготовленого скрипта виникає наступна помилка.
Причина. У робочій базі не було виявлено опис таблиці iris_accountface. Тому з неї не були перенесені дані в нову базу. І при вставці значень в таблицю компаній порушується посилальна цілісність.
Рішення. Додайте в розділі Адміністрування → Таблиці таблицю iris_accountface.
Або виконайте наступний скрипт.
Відразу перевірте, швидше за все у Вас не описані також таблиці iris_accountstate. iris_category.
Після цього необхідно заново сформувати опис колонок.
Для цього виконайте наступний скрипт.
Після цього з розділу Оновлення заново створіть SQL скрипт і знову спробуйте виконати його в pgAdmin.
При виконанні підготовленого SQL скрипта виникає наступна помилка.
Причина. У новій базі створені користувачі і до деяких записів вони вказані в правах доступу. При додаванні нових записів у вкладки Доступ порушуються обмеження цілісності.
Рішення. Видаліть записи з вкладок Доступ в новій базі.
Для цього можна виконати наступний скрипт.
При виконанні підготовленого SQL скрипта виникає наступна помилка.
Причина. Під час передавання даних в новій базі спочатку знімаються обмеження NOT NULL і після перенесення даних ці обмеження повертаються. Якщо з'явилася така помилка, то це означає, що в робочій базі не всі обов'язкові дані були заповнені.