...
Миграция из других АСР делается через промежуточный набор таблиц в формате DBF или CSV (кодировка UTF-8, разделитель полей — точка с запятой, в первой строке указываются названия полей таблицы). Таблицы выгружаются из старой АСР с помощью специального скрипта на Python или Perl . Далее с помощью специального инструмента DBF/CSV-файлы загружаются в
ais_name |
---|
Упрощения и допущения
- Юрлица и физлица находятся в одной таблице и отличаются только специальным признаком.
- Из реквизитов юрлица выгружается только его название, остальное требует ручного ввода (таблицу при необходимости можно дополнить полями с реквизитами).
- Текущий объём потреблённых услуг (трафик, минуты) никак не мигрирует, но дата окончания текущего периода мигрирует.
- Подробности тарифов (периодичность, пороги, единицы измерения, стоимость и т.д.) не мигрируют, а перебиваются вручную и затем сопоставляются.
Выгрузка из старой АСР
Звёздочкой для наглядности помечены идентификаторы, являющиеся внешними ключами. Первичный ключ в каждой таблице всегда называется ID. Если необходимо, то к каждой таблице можно добавить поле для комментария (с названием REM), в которое будут выгружаться полезные текстовые данные.
Для полей с типом «Дата и время» используется следующий формат: 26.04.2009 13:04:55 (Oracle: DD.MM.YYYY HH24:MI:SS). Для полей только с датой или только с временем нужно использовать 26.04.2009 и 13:04:55 соответственно.
Справочник состояний абонента
Таблица STATUS
Поле | Описание |
---|---|
ID | ID состояния |
NAME | Наименование состояния |
Если используется всего два состояния (включен, отключен), то смысла в справочнике нет. В таблицах, которые на него ссылаются, можно использовать просто отдельный столбец с признаком активности.
Справочник сетевых служб
Таблица NS_LIST
ID | ID сетевой службы |
NAME | Название сетевой службы |
Примечание: Этот справочник формируется вручную и состоит из перечня сетевых служб, для доступа к которым абоненту нужен логин и пароль: RADIUS, личный кабинет, телефония.
Справочник типов оборудования
Таблица EQUIP_TYPE
ID | ID типа |
NAME | Название оборудования |
Справочник групп
Таблица GROUPS
ID | ID группы |
NAME | Название группы |
Справочник банков
Таблица BANKS
ID | ID банка |
NAME | Название банка |
Справочник услуг и тарифных планов
Таблица SERVICES
ID | ID услуги (тарифного плана) |
NAME | Наименование услуги (ТП) |
TYPE | Признак тарифного плана (если Y, то ТП; если N, то услуга) |
Примечание: В этот справочник выгружаются все ТП, а из услуг только те, которые не входят в ТП, например, услуга "Реальный IP-адрес"
Справочник лицевых счетов
Таблица ACCOUNTS
ID | ID лицевого счёта |
USER_ID | ID абонента* |
ACCT_NUM | Номер лицевого счёта |
CUR_ID | ID валюты* (если в системе только российский рубль, можно не указывать) |
BALANCE | Баланс счёта |
CREDIT | Кредитный лимит |
CREDIT_END_DATE | Дата окончания кредитного лимита |
Привязки абонента к сетевым службам
Таблица NETSERV
ID | ID привязки |
USER_ID | ID абонента* |
NS_ID | ID сетевой службы* |
LOGIN | Логин |
PASSWORD | Пароль |
Примечание: В эту таблицу выгружаются логины и пароли на VPN, на личный кабинет, SIP-аккаунт и на другие ресурсы, которые контролирует биллинг. При этом в целях безопасности пароли при тестовых выгрузках нужно заменять на звёздочки или случайные строки. Настоящие пароли будут выгружаться всего один раз, при окончательной миграции.
Участие абонентов в группах
Таблица GROUPLINK
ID | ID записи об участии |
USER_ID | ID абонента* |
GROUP_ID | ID группы* |
Подписка абонентов на услуги
Таблица SUBSCR
ID | ID подписки |
ACCT_ID | ID лицевого счёта* |
CONTRACT_ID | ID договора* |
TARIFF_ID | ID услуги (тарифного плана)* |
EQUIP_ID | ID абонентского оборудования* |
D_END | Дата окончания текущего учётного периода |
D_START | Дата начала текущего учётного периода |
Операторское оборудование
Таблица OP_EQUIP
ID | ID оборудования |
EQUIP_TYPE_ID | ID типа оборудования* |
GROUP_ID | ID группы* |
CODE | Код оборудования |
IP | IP-адрес для управления |
LOGIN | Логин для управления |
PASSWORD | Пароль |
Примечание: ID группы можно использовать для привязки оборудования к определённому региону или филиалу. Список атрибутов для оборудования может быть расширен по необходимости (адрес, количество портов и т. д.).
Оконечное оборудование абонентов
Таблица EQUIP
ID | ID оборудования |
USER_ID | ID абонента* |
OP_EQUIP_ID | ID операторского оборудования* |
OP_EQUIP_PORT | Порт операторского оборудования |
CODE | Код оборудования |
MAC | Физический адрес (MAC) |
IP | IP-адрес |
MASK | Маска IP-адреса |
PHONE | Абонентский телефонный номер в формате E.164 |
Примечание: Поля OP_EQUIP_ID и OP_EQUIP_PORT необходимы для указания привязки абонентского оборудования к операторскому.
Справочник абонентских договоров
Таблица CONTRACTS
ID | ID договора |
USER_ID | ID абонента |
NUM | Номер договора |
D_DOC | Дата заключения договора |
D_BEGIN | Дата начала действия договора |
D_END | Дата окончания действия договора |
Справочник абонентов
Таблица USERS
ID | ID абонента |
STATUS_ID | ID состояния абонента* |
LOGIN | Код абонента |
JUR | Физическое или юридическое лицо (0 — физлицо, 1 — юрлицо) |
NAME | ФИО (физлица) / Наименование (юрлица) |
ADDR | Домашний адрес |
PASSPORT | Номер паспорта |
W_PHONE | Рабочий телефон |
H_PHONE | Контактный домашний телефон |
M_PHONE | Контактный мобильный телефон |
Контактный email |
Примечание: Список атрибутов для личных данных абонента может быть расширен по необходимости.
Платежи
Таблица PAYMENTS
ID | ID операции |
ACCT_ID | ID лицевого счёта* |
BANK_ID | ID банка* |
D_OPER | Дата и время операции |
PAYMENT_SUM | Сумма платежа, умноженная на 100 (целое число) |
Списания
Таблица WRITEOFFS
ID | ID операции |
ACCT_ID | ID лицевого счёта* |
D_OPER | Дата и время операции |
TARIFF_ID | ID услуги (тарифного плана)* |
SUM | Сумма списания, умноженная на 100 |
D_BEGIN | Дата и время начала периода списания |
D_END | Дата и время окончания периода списания |