Структура базы данных
Материал из ISPWiki
Приведенное ниже описание базы данных дано в контексте задачи переноса данных из других систем учета. Описание сделано для версии Corporate, однако в младших версиях структура данных полностью идентична, некоторые данные там просто не используются.
Часть полей, не относящихся к описываемой задаче, пропущена.
Итак, есть задача перенести данные клиентов из существующей базы.
Параметры провайдера, компаний, сотрудников, методов оплаты, шлюзы для регистрации доменов, тарифы и т.д. лучше настроить через интерфейс BILLmanager, таблицы относящиеся к этим данным, в описании отсутствуют.
После редактирования данных в базе данных, необходимо либо перезапустить BILLmanager (killall billmgr), либо сбросить кэш для конкретной таблицы (/usr/local/ispmgr/sbin/mgrctl -m billmgr drop.cache elid=ИМЯ_ТАБЛИЦЫ)
Данные о клиентах
Данные о клиентах содержатся в трех таблицах
- account - содержит записи о клиентах
- id - идентификатор (код) клиента
- name - наименование, произвольное внутренне имя клиента
- level - уровень доступа, для клиентов всегда равен 5
- parent - ссылка на аккаунт провайдера, обычно 1
- partner - ссылка на партнера, если клиент был зарегистрирован по чьей-то партнерской программе
- bonustype - тип выбранной партнерской программы
- regdate - дата регистрации
- regip - ип-адрес, с которого проводилась регистрация
- note - произвольное примечание
- user - пользователи клиента (клиент может иметь несколько пользователей)
- id - идентификатор (код) пользователя
- name - имя пользователя, которое он вводит при авторизации в системе
- account - ссылка на account, которому принадлежит пользователь
- password - хеш пароля, воспринимаются хеши DES, MD5, BLF
- realname - ФИО пользователя
- email - электронный почтовый ящик
- superuser - обычно 1, т.к. единственный пользователь не может быть ограничен в правах
- profile - плательщики клиента (клиент может иметь несколько плательщиков)
- id - идентификатор (код) плательщика
- name - наименование
- account - ссылка на account, которому принадлежит плательщик
- ptype - тип плательщика (1 - частное лицо, 2 - юр. лицо)
- person - контактное лицо
- vatnum - ИНН
- kpp - КПП
- country - физический адрес, ссылка на страну (таблица country)
- zip - физический адрес, индекс
- city - физический адрес, город
- address - физический адрес, улица, дом и т.д.
- ccountry - юридический адрес, ссылка на страну (таблица country)
- czip - юридический адрес, индекс
- ccity - юридический адрес, город
- caddress - юридический адрес, улица, дом и т.д.
- phone - телефон
- fax - факс
- email - электронный почтовый адрес
- www - веб-сайт
- director - для договора, ФИО директора
- jobtitle - для договора, должность директора
- rdirector - для договора, ФИО директора в родительном падеже
- rjobtitle - для договора, должность директора в родительном падеже
- baseaction - для договора, действует на основании ...
- passport - для договора физ. лиц, паспорт.
- regdate - дата регистрации
- id1c - идентификатор в 1С: Бухгалтерии (для интеграции)
Кроме основных данных необходимо создать несколько привязок:
- к каким проектам подключен клиент, account2project
- account - ссылка на таблицу account
- project - код проекта, если у вас версия младше Corporate, тогда 1
- с какими компаниями ему разрешено иметь отношения profile2profile
- profile - ссылка на таблицу profile
- company - код компании (можно посмотреть в интерфейсе в списке компаний, для версии standart - 1)
Продукты/услуги клиента
- item - общее описание услуги
- id - идентификатор (код) услуги
- name - наименование услуги
- account - ссылка на account, которому принадлежит услуга
- price - ссылка на pricelist, тарифный план услуги
- period - ссылка на priceperiod, определяет период заказа
- server - ссылка на server, используется, если продукт использует сервер
- status - состояние услуги (1 - заказан, 2 - активен, 3 - остановлен, 4 - удален, 5 - обрабатывается)
- createdate - дата заказа услуги
- suspenddate — дата остановки услуги
- deletedate - дата удаления услуги
- billdate — последняя дата обработки услуги
- expiredate — дата, по которую оплачена услуга
- autoprolong - ссылка на priceperiod, указывает период автопродления услуги.
- note — дополнительная информация
- vhost - данные о виртуальном хостинге
- pid - ссылка на item, идентификатор хостинга
- domain - доменное имя хостинга
- username — логин пользователя
- password — пароль пользователя
- ip - ip-адрес хостинга
- vds - данные о ВДС
- pid - ссылка на item, идентификатор виртуального сервера
- domain - доменное имя виртуального сервера
- ip - ip-адрес виртуального сервера
- ostempl - шаблон диска
- password - пароль для входа в панель управления
- domaincontact - контакты доменов
- id - идентификатор (код) контакты домена
- ctype - тип контакта (person - частное лицо, company - компания, generic - администратор)
- name - имя контакты
- account - ссылка на account, пользователь, которому принадлежит контакт
- company - компания на английском
- company_ru - компания на русском
- firstname - имя на английском
- firstname_ru - имя на русском
- middlename - отчество на английском
- middlename_ru - отчество на русском
- lastname - фамилия на английском
- lastname_ru - фамилия на русском
- email - адрес электронной почты
- phone - телефон
- fax - факс
- birthdate - день рождения
- passport — паспортные данные
- inn - ИНН
- kpp - КПП
- private - скрывать данные контакта в whois (1 - скрывать, 0 - не скрывать)
- Адрес контакта:
- la_country - страна
- la_state - штата (область)
- la_postcode - индекс
- la_city - город
- la_address - адрес
- Почтовый адрес контакта:
- pa_country - страна
- pa_state - штата (область)
- pa_postcode - индекс
- pa_city - город
- pa_address - адрес
- pa_addressee - получатель почты
- domain - данные о домене
- pid - ссылка на item, идентификатор домена
- name - имя домена, без зоны
- tld - ссылка на tld, указывает, к какой зоне принадлежит домен
- owner - ссылка на domaincontact, контакт владельца
- admin - ссылка на domaincontact, контакт администратора домена
- tech - ссылка на domaincontact, контакт технической поддержки
- bill - ссылка на domaincontact, контакт финансового отдела
- ns0, ns1, ns2, ns3 - сервера имен домена
- autoperiod - ссылка на priceperiod, указывает период при автопродлении
- registrar - ссылка на registrar, указывает на регистратора домена
- expire - дата окончания регистрации
- status - состояние домена
- itemip - дополнительные ip-адреса
- id - идентификатор (код) ip-адреса
- name - ip-адрес
- item - ссылка на item, указывает, какой услуге принадлежит дополнительный ip-адрес
- cdate - дата заказа
Денежные средства, платежи, расходы, лицевой счет
- subaccount - счет клиента, отдельный для каждого проекта
- id - идентификатор (код) счета
- name - описание
- account - ссылка на account, которому принадлежит счет
- currency - валюта счета, ссылка на таблицу currency
- project - ссылка на таблицу project, проект, для которого счет
- balance - текущий баланс
- creditlimit - кредитный лимит
- postpayd - флаг на разрешение postpaid
- credit -платежи
- id - идентификатор (код) платежа
- sender - плательщик, ссылка на таблицу profile
- recipient - компания получатель, ссылка на таблицу profile
- type - метод оплаты, ссылка на таблицу companycrtype
- num - номер платежа
- cdate - дата создания
- pdate - дата оплаты
- currency - валюта платежа, ссылка на таблицу currency
- amount - сумма в валюте платежа
- nativeamount - сумма в валюте метода оплаты
- usedamount - использованная сумма
- state - статус( 1 - не оплачен, 2 - оплачивается, 3 - условно зачислен, 4 - оплачен, 5 - мошеннический)
- subaccount - счет, для которого производится платеж, ссылка на таблицу subaccount
- description - назначение платежа
- info - дополнительная информация
- expense - расходы
- id - идентификатор (код) расхода
- name - описание
- subaccount - счет, с которого списано, ссылка на таблицу subaccount
- item - услуга, за которую списано, ссылка на таблицу item
- cdate - дата списания
- amount - сумма
- notpayd - не оплаченная сумма
- expense2credit - привязка расхода к платежу
- expense - ссылка на таблицу expense
- credit - ссылка на таблицу credit
- amount - сумма
