Переезд из версии 5.1.10-017 в 5.2.1-007

Технические вопросы по UTM 5.0
tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Переезд из версии 5.1.10-017 в 5.2.1-007

Сообщение tesla »

День добрый! Надоел старый биллинг. Хотим переехать на новый.
Поискам смотрел не совсем все понял, что почем.
Можно ли через xml влиться?

Идея слить юзверей через xml в новую UTM. Ручками создать прицепить связки и понаблюдать на двух версиях что и как.
Потом перейти на новую. Данные по трафику соответственно не нужны из старой базы.

Глянул на выгрузки в xml и в той и в другой utm - они конечно различаются, нужно парсить.

В общем с чего начать подскажите - первый опыт! :)

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

а просто обновить схему? стандартный путь обновления....

tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

Pulse писал(а):а просто обновить схему? стандартный путь обновления....
Я не большой знаток - подробнее можно чуток или ссылки.
Urfaclient в старой версии мы так и не купили.
Последний раз редактировалось tesla Вт янв 26, 2010 12:37, всего редактировалось 1 раз.

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »


tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

Есть некоторые траблы которые всплывут при обновлении.
В старой базе были косяки с тарифами клиентов.
Не хотелось их наследовать в новую базу.

Поэтому вопрос тот же. как влить все данные о пользователе в новую UTM? Т.е логин и реквизиты - без тарифных связок и прочего.

NShut
Сообщения: 72
Зарегистрирован: Ср апр 01, 2009 12:39

Сообщение NShut »

клиентов вбить можно через урфаклиент
либо если не куплен через phpurfaclient
http://wiki.flintnet.ru/doku.php?id=urfaclient_php

контактные же данные вообще можно прям в скул залить, чтобы скриптами не мучаться

tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

NShut писал(а):клиентов вбить можно через урфаклиент
либо если не куплен через phpurfaclient
http://wiki.flintnet.ru/doku.php?id=urfaclient_php

контактные же данные вообще можно прям в скул залить, чтобы скриптами не мучаться
Спасибо за подсказки! Буду пробовать. Пойду читать про urfaclient_php - что почем...

tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

NShut писал(а):клиентов вбить можно через урфаклиент
либо если не куплен через phpurfaclient
http://wiki.flintnet.ru/doku.php?id=urfaclient_php

контактные же данные вообще можно прям в скул залить, чтобы скриптами не мучаться
Почитал про urfaclient_php.
Ставится на движок или просто apache+php?
Сделал выгрузку xml из старой админки, по идее там все что мне нужно. Как и какими ф-циями urfaclient_php делать вливание юзверей из старой в новую админку.
Для меня это пока не прозрачно. Может просто переделать xml и его влить в новую админку это я еще как-то осознаю. :D

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

tesla писал(а): Ставится на движок или просто apache+php?
Сделал выгрузку xml из старой админки, по идее там все что мне нужно. Как и какими ф-циями urfaclient_php делать вливание юзверей из старой в новую админку.
Для меня это пока не прозрачно. Может просто переделать xml и его влить в новую админку это я еще как-то осознаю. :D
Это просто пхп-скрипт, вызывать можно откуда угодно. Если экспорт делаете самостоятельно, проще экспортировать в виде готового php-скрипта, использующего urfaclient_php. Я переносил данные со старого сервера на новый именно так.

P.S. Пригодятся функции add_tariff, add_service_to_tariff для тарифов и add_user_new, get_tariff, link_user_tariff, add_service_to_user для юзеров.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

tesla писал(а):
NShut писал(а):клиентов вбить можно через урфаклиент
либо если не куплен через phpurfaclient
http://wiki.flintnet.ru/doku.php?id=urfaclient_php

контактные же данные вообще можно прям в скул залить, чтобы скриптами не мучаться
Почитал про urfaclient_php.
Ставится на движок или просто apache+php?
Сделал выгрузку xml из старой админки, по идее там все что мне нужно. Как и какими ф-циями urfaclient_php делать вливание юзверей из старой в новую админку.
Для меня это пока не прозрачно. Может просто переделать xml и его влить в новую админку это я еще как-то осознаю. :D
Если клиентов порядка пары сотен то проще руками

tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

Magnum72 писал(а): Если клиентов порядка пары сотен то проще руками
Пытаюсь через админку новой версии UTM влить тестовый файл следущего содержания.

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<UTM>
<row>
<col_login>softexpert</col_login>
<col_full_name>123</col_full_name>
</row>
</UTM>
Тишина. В логах ошибок не вижу и вливаний тоже.


Выгружал из новой UTM xml файлик следующего вида.
Вот кусок:

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<UTM_export>
<row>
<row_id>0</row_id>
<col_uid>1</col_uid>
<col_login>test-plat</col_login>
<col_master_account>1</col_master_account>
<col_full_name></col_full_name>
</row>
</UTM_export>
Интересуют строки:
<row_id>0</row_id>
<col_uid>1</col_uid>

Если уже есть в билинге клиент с последним <col_uid>146</col_uid>

Надо ли руками делать нумерацию в экспортируемом xml, и как считается <row_id>0</row_id>?

Оно всегда меньше <col_uid> на разную величину.

Клиентов 1.5 тысячи.

tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

http://www.netup.ru/UTM5/manuals.php

Нашел описание xml и самого импорта. Я не в ту сторону копал :D

Сделал все же через xml - скриптом на perl. Выгрузил все, что нужно из старой админки в xml. Конвертнул в текстовый файл с разделителем табуляция, убрал лишние поля и скормил скрипту ниже.
Предварительно конвертнул из cp1251 в utf8.
Потом влил в новую админку.
Все вышло. Жаль не все поля удалось влить. Но реквизиты все перенеслись. Вот простенький скрипт, может кому понадобиться.

Код: Выделить всё

#!/usr/bin/perl
open&#40;DAT,"from_old_utml.txt"&#41;;
open&#40;DB,">>to_new_utm.xml"&#41;;
print DB "<?xml version=1.0 encoding=UTF-8?>\n";
print DB "<import>\n";

while &#40;<DAT>&#41; &#123;
&#40;$login, $full_name, $passport, $home_tel, $mod_tel, $jur_address, $tax_number, $kpp_number, $work_tel, $act_address&#41; = split &#40;/\t/, $_&#41;;
print DB "<users>\n";
print DB "<user>\n";
print DB "<accounts>\n";
print DB "<account>\n";
print DB "<is_bloked>0</is_bloked>\n";
print DB "</account>\n";
print DB "</accounts>\n";

print DB "<login>$login</login>\n";
print DB "<full_name>$full_name</full_name>\n";
print DB "<passport>$passport</passport>\n";
print DB "<home_tel>$home_tel</home_tel>\n";
print DB "<mod_tel>$mod_tel</mod_tel>\n";
print DB "<jur_address>$jur_address</jur_address>\n";
print DB "<tax_number>$tax_number</tax_number>\n";
print DB "<kpp_number>$kpp_number</kpp_number>\n";
print DB "<work_tel>$work_tel</work_tel>\n";
print DB "<act_address>$act_address</act_address>\n";
print DB "<is_juridical>0</is_juridical>\n";
print DB "</user>\n";
print DB "</users>\n";
&#125;
print DB "</import>";
close DAT;
close DB;
Строчку потом поправить надо <?xml version=1.0 encoding=UTF-8?>
на <?xml version="1.0" encoding="UTF-8"?> В окончательном файле.

tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

dk писал(а): P.S. Пригодятся функции add_tariff, add_service_to_tariff для тарифов и add_user_new, get_tariff, link_user_tariff, add_service_to_user для юзеров.
В общем добил все нужные поля в новой UTM запросами из муcкула старой UTM.

Остался нерешеный вопрос по тарифам.
Как правильно их перенести в новую UTM при помощи urfa php?

Какой нибудь рабочий пример работы с модулем можно?

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

tesla писал(а):Остался нерешеный вопрос по тарифам.
Как правильно их перенести в новую UTM при помощи urfa php?

Код: Выделить всё

# Добавляем тариф
$tarif = array&#40;
    'name' => '...',
    'expire_date' => $max_date,
    'is_blocked'    => 0,
    'balance_rollover' => 1,
&#41;;
$add_tarif = $utm->add_tariff&#40; $tarif &#41;;


# Добавляем услуги
$svc = array&#40;
        'cost' => 40,
        'service_type' => 2,
        'link_by_default' => 1,
        'tariff_id' => $add_tarif&#91;'tp_id'&#93;,
        'tclass_p' => array&#40;&#41;,
        'parent_id' => 3,
        'service_name' => 'Абонентская плата',
        'is_dynamic' => 0,
        'discount_method' => 2,
        'parent_service_id' => 1,
&#41;;
$utm->add_service_to_tariff&#40; $svc &#41;;
$svc = array&#40;
        'tlass_b' => array&#40;
                array&#40; tclass_b => 10, size_b => 0, cost_b => 0 &#41;,
                array&#40; tclass_b => 20, size_b => 0, cost_b => 0 &#41;,
                array&#40; tclass_b => 20, size_b => 20971520, cost_b => 1.8 &#41;,
                array&#40; tclass_b => 10, size_b => 20971520, cost_b => 1.8 &#41;,
        &#41;,
        'cost' => 0,
        'service_type' => 3,
        'null_service_prepaid' => 1,
        'link_by_default' => 1,
        'periodic_type' => 3,
        'tariff_id' => $add_tarif&#91;'tp_id'&#93;,
        'tclass_p' => array&#40;
                array&#40; tclass_p => 10, size_p => 0&#41;
        &#41;,
        'parent_id' => 1,
        'expire_date' => $max_date,
        'service_name' => 'Передача IP-трафика',
        'is_dynamic' => 0,
        'start_date' => 0,
        'discount_method' => 2,
        'tcid' => array&#40;
                array&#40; tcid => 10, gid => 1 &#41;,
                array&#40; tcid => 20, gid => 1 &#41;,
        &#41;,
        'parent_service_id' => 5,
&#41;;
$utm->add_service_to_tariff&#40; $svc &#41;;

tesla
Сообщения: 37
Зарегистрирован: Ср дек 10, 2008 09:45

Сообщение tesla »

dk писал(а):

Код: Выделить всё

# Добавляем тариф
$tarif = array&#40;
    'name' => '...',
    'expire_date' => $max_date,
    'is_blocked'    => 0,
    'balance_rollover' => 1,
&#41;;
$add_tarif = $utm->add_tariff&#40; $tarif &#41;;


# Добавляем услуги
$svc = array&#40;
        'cost' => 40,
        'service_type' => 2,
        'link_by_default' => 1,
        'tariff_id' => $add_tarif&#91;'tp_id'&#93;,
        'tclass_p' => array&#40;&#41;,
        'parent_id' => 3,
        'service_name' => 'Абонентская плата',
        'is_dynamic' => 0,
        'discount_method' => 2,
        'parent_service_id' => 1,
&#41;;
$utm->add_service_to_tariff&#40; $svc &#41;;
$svc = array&#40;
        'tlass_b' => array&#40;
                array&#40; tclass_b => 10, size_b => 0, cost_b => 0 &#41;,
                array&#40; tclass_b => 20, size_b => 0, cost_b => 0 &#41;,
                array&#40; tclass_b => 20, size_b => 20971520, cost_b => 1.8 &#41;,
                array&#40; tclass_b => 10, size_b => 20971520, cost_b => 1.8 &#41;,
        &#41;,
        'cost' => 0,
        'service_type' => 3,
        'null_service_prepaid' => 1,
        'link_by_default' => 1,
        'periodic_type' => 3,
        'tariff_id' => $add_tarif&#91;'tp_id'&#93;,
        'tclass_p' => array&#40;
                array&#40; tclass_p => 10, size_p => 0&#41;
        &#41;,
        'parent_id' => 1,
        'expire_date' => $max_date,
        'service_name' => 'Передача IP-трафика',
        'is_dynamic' => 0,
        'start_date' => 0,
        'discount_method' => 2,
        'tcid' => array&#40;
                array&#40; tcid => 10, gid => 1 &#41;,
                array&#40; tcid => 20, gid => 1 &#41;,
        &#41;,
        'parent_service_id' => 5,
&#41;;
$utm->add_service_to_tariff&#40; $svc &#41;;
Огромное спасибо! :D

Ответить