|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (9)
просмотр истории страницы{tip}*Время выполнения инструкции*: до 10 секунд на абонента,а так же до 1 минуты на инициализацию скрипта, общее время зависит от загруженности сервера и количества абонентов{tip} |
{panel} |
{panel}chroot /app/asr_billing python2.7 /usr/lib/python2.7/site-packages/carbon_migration_scripts/file_client/import_csv.pyc {color:green}{*}sync_balance.conf{*}{color} {color:blue}{*}balances.csv{*}{color} sync_balance{panel} Вместо *sync_balance.conf* и *balances.csv* укажите имена Ваших файлов: конфигурационного и с балансами для синхронизации Синхронизация проводится по полю "Баланс", в соответствии со статьей по [миграции|Миграция из CSV файла] Пример конфигурационного файла для синхронизации балансов находится в контейнере /app/asr_billing/ в директории /usr/lib/python2.7/site-packages/carbon_migration_scripts/import_csv_sync_balance.config.example h6. Для получения информации из биллинга Carbon Billing5 в формате "Номер договора - текущий баланс", необходимо выполнить отчёт: {code} select distinct A.CONTRACT_NUMBER as "Договор", round((aa.ostatok+aa.debit-aa.credit) / cast((10000000000) as numeric(18,5)), 2) as "Текущий баланс" from ABONENTS A left join ADMIN_ACCOUNTS AA on AA.ID=A.ACCOUNT_ID where A.IS_FOLDER=0 and a.deleted=0 {code} h6. Для получения информации из биллинга Carbon Billing4 в формате "Номер договора - текущий баланс", необходимо выполнить отчёт: {code} select contract_number, (DEBIT + OSTATOK - CREDIT)/10000000000.00 from users where id<100000 and deleted=0 and end_user=1 {code} h6. Пример sync_balance.conf {code} { "fields": { "Номер договора": 0, "Баланс": 1 }, "options":{ "Разделитель csv": ";", "Наследовать параметры от родительской папки": "True", "Формат даты": "%d.%m.%Y", "Следующее списание": "01.03.2015" } } {code} h1. Синхронизация балансов при миграции из Carbon Billing 4. В случае, если между тестовой миграцией абонентов из Carbon Billing 4 и запуском Carbon Billing 5 в коммерческую эксплуатацию прошло некоторое время и балансы абонентов изменились, может потребоваться синхронизация балансов без перемиграции всей базы данных. В таком случае синхронизацию можно проводить по csv файлу, полученному при экспорте из [Carbon Billing4|CarbonBilling:Миграция абонентов из Carbon Billing 4]: h6. 1) Получаем данные из биллинга 4й версии Для примера: IP биллинга 4-ой версии: 1.1.1.1 Пароль БД: servicem {code} |
chroot /app/asr_billing/ |
/etc/init.d/memcached stop ; /etc/init.d/worker stop python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.py \ /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/sync_balance.conf \ /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/balance_01_06_16.csv \ |
python /usr/lib/python2.7/site-packages/carbon_migration_scripts/crb4_csv_export/main.pyc 1.1.1.1 servicem |
sync_balance {code} |
h6. 2) Создаем и открываем файл sync_balance.conf. В примере используется текстовый редактор *vim*. Можете использовать любой удобный для Вас текстовый редактор. |
{panel} {code} |
vim /root/sync_balance.conf {code} h6. 3)Записываем туда следующие данные без изменений и сохраняем файл(Поля в точно таком же порядке) : {code} { "fields": { "Номер договора": 3, "Баланс": 9, "Следующее списание": 69 }, "options":{ "Разделитель csv": ";", "Наследовать параметры от родительской папки": "True", "Формат даты": "%d.%m.%Y" } } {code} h6. 4)Запускаем синхронизацию балансов по файлу, полученному в пункте 1, /root/new_migration/csv_output/abonent.csv {info} В этом файле в 3 столбце будет номер договора, в 9 баланс, следующее списания в 69(отсчет идет с 0) {info} {code} python2.7 /usr/lib/python2.7/site-packages/carbon_migration_scripts/file_client/import_csv.pyc /root/sync_balance.conf /root/new_migration/csv_output/abonent.csv sync_balance {code} |