Зміст

Міграція з інших білінгових систем

В Ubilling, починаючи з версії 0.3.9 у “Консолі розробника” з'явився функціонал, що дозволяє максимально спростити міграцію абонентської бази з інших систем. Одразу попереджаємо - цей функціонал є де-факто небезпечним, і гратися з ним на продакшн серверах - більш ніж безглузда затія.

Для початку нам буде потрібно

  1. Свіжовстановлений Ubilling (так, так - з повністю чистою базою)
  2. Експортовані з іншої системи дані про користувачів у текстовому вигляді
  3. Трохи терпіння

Поїхали мігрувати

Припустімо, ми настільки ледачі, що хочемо сконвертувати цілих трьох з половиною користувачів з такого ось файлу в кодуванні cp1251:

samplebase.csv
Логін;Пароль;IP;MAC;Тариф;Гроші;Кредит;Кредит до;Адреса;Ф.І.Б.;Договір;ЗавждиОнлайн;Відключений;Користувач ЗАМОРОЖЕНИЙ
zlo_hev11ap8_0nt6;p7gjgkh9;172.30.0.2;99:45:58:53:53:82;АР100;105;0;;Шевченка 11/8;Федір Крюгер;;1;0;0
i8dq92aj;p85kc;172.30.0.3;99:43:54:78:71:72;Unlim-5;50;0;;Вязов 13/1;Оксана Хтивий;;1;0;0
jzxfn4qn;71gns;172.30.0.4;99:46:22:98:16:59;Unlim-5;50;0;;Вязов 13/2;Ліля Юзеренко;;1;0;0
t7gqx6hv;miv0l;172.30.0.5;99:68:21:92:13:15;Unlim-5;0;0;;Вязов 13/3;Аня Жук;;1;0;0
ggzuypgp;ewl3b;172.30.0.6;99:53:34:88:54:48;Unlim-5;0;0;;Вязов 13/4;Андрій Пушний;;1;0;0
q63vi8ah;7cvul;172.30.0.7;99:44:42:26:61:37;Unlim-5;20;0;;Вязов 13/5;Наталка Ололюк;;1;0;0
v6x3edx5;2omzn;172.30.0.8;99:26:87:94:34:71;Unlim-5;0;0;;Вязов 13/6;Дмитро Тимошенко;;1;0;0

Як бачимо, роздільником полів тут виступає “;”, поля цілком собі притомно підписані, всі користувачі перебувають на тарифах “АР100” і “Unlim-5” і в підмережі типу “172.30.0.0/24”.
Для початку створимо потрібні нам тарифи для початку “АР100”:

Далі за аналогією додаємо тариф “Unlim-5” і не забуваємо присвоїти їм швидкість у модулі “Швидкість тарифів”.

Також додаємо мережу і сервіс за допомогою відповідного модуля “Сервіси та послуги”:

Попередньо прибираємо заголовки стовпців (нам потрібні чисті дані) з нашого файлу для конвертації та приводимо його до такого вигляду:

samplebase.csv
zlo_hev11ap8_0nt6;p7gjgkh9;172.30.0.2;99:45:58:53:53:82;АР100;105;0;;Шевченка 11/8;Федір Крюгер;;1;0;0
i8dq92aj;p85kc;172.30.0.3;99:43:54:78:71:72;Unlim-5;50;0;;Вязов 13/1;Оксана Хтивий;;1;0;0
jzxfn4qn;71gns;172.30.0.4;99:46:22:98:16:59;Unlim-5;50;0;;Вязов 13/2;Ліля Юзеренко;;1;0;0
t7gqx6hv;miv0l;172.30.0.5;99:68:21:92:13:15;Unlim-5;0;0;;Вязов 13/3;Аня Жук;;1;0;0
ggzuypgp;ewl3b;172.30.0.6;99:53:34:88:54:48;Unlim-5;0;0;;Вязов 13/4;Андрій Пушний;;1;0;0
q63vi8ah;7cvul;172.30.0.7;99:44:42:26:61:37;Unlim-5;20;0;;Вязов 13/5;Наталка Ололюк;;1;0;0
v6x3edx5;2omzn;172.30.0.8;99:26:87:94:34:71;Unlim-5;0;0;;Вязов 13/6;Дмитро Тимошенко;;1;0;0

Після чого переходимо безпосередньо до конвертації:

Вгорі ми бачимо скільки всього стовпців з даними було виявлено (Found count of data columns), а також те, як з точки зору конвертера виглядають ці дані відносно стовпців (First of imported data rows). Ліворуч - номери стовпців (Conumn number), праворуч - наочно показано вміст стовпця (Column content).

Далі нам потрібно встановити відповідності номерів стовпців реальним даним у діалозі нижче (Select data columns and their values), а також встановити тип конвертації, який ми хочемо здійснити (User registration mode):

У показаному вище на скріншоті прикладі ми встановлюємо всім користувачам кредити в нуль (User credit limit=Set to zero), робимо їх усіх активними (User AlwaysOnline state=1, User Down state=0, User Passive state=0), обираємо їм заведену нами мережу (Target network=172.30.0.0/24) і вказуємо режим реєстрації (User registration mode) як пряму реєстрацію користувачів на локальному Ubilling сервері (Ubilling live register). Також є можливість отримати замість реєстрації SQL дамп придатний для подальших правок або розгортання на іншому сервері (Show SQL dump). Наступним кроком має бути перевірка того, чи все у нас нормально вичепилося з файлу з абонбазою і підтвердження нашого бажання зареєструвати користувачів.

Після підтвердження можна сміливо йти в модуль “Користувачі” перевіряти, що ж воно наконвертувало. У нашому випадку це все буде виглядати якось так:

Важливо: Станом на стабільний реліз Ubilling 0.4.4 модуль “Міграція” все ще розробляється і поки що не вміє автоматично заселяти користувачів за адресами. Адресні дані з початкового файлу тимчасово пишуться в поле “Примітки” користувача і можуть бути використані для ручного заселення, або подальшого постпроцесингу додатковими скриптами.