Користувальницькькі налаштування

Налаштування сайту


migration

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
migration [2014/04/13 02:56]
migration [2023/07/18 10:46] (поточний)
borisov
Рядок 1: Рядок 1:
 +====== Міграція з інших білінгових систем ======
  
 +В Ubilling, починаючи з версії 0.3.9 у "Консолі розробника" з'явився функціонал, що дозволяє максимально спростити міграцію абонентської бази з інших систем. Одразу попереджаємо - цей функціонал є де-факто небезпечним, і гратися з ним на продакшн серверах - більш ніж безглузда затія.\\
 +
 +===== Для початку нам буде потрібно =====
 +  - Свіжовстановлений Ubilling (так, так - з повністю чистою базою)
 +  - Експортовані з іншої системи дані про користувачів у текстовому вигляді
 +  - Трохи терпіння
 +
 +===== Поїхали мігрувати =====
 +
 +Припустімо, ми настільки ледачі, що хочемо сконвертувати цілих трьох з половиною користувачів з такого ось файлу в кодуванні cp1251:
 +
 +<file csv 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
 +</file>
 +
 +Як бачимо, роздільником полів тут виступає ";", поля цілком собі притомно підписані, всі користувачі перебувають на тарифах "АР100" і "Unlim-5" і в підмережі типу "172.30.0.0/24".\\
 +Для початку створимо потрібні нам тарифи для початку "АР100":\\
 +
 +{{ :mig1.png?400 |}}
 +{{ :mig2.png?400 |}} 
 +{{ :mig3.png?400 |}}
 +
 +Далі за аналогією додаємо тариф "Unlim-5" і не забуваємо присвоїти їм швидкість у модулі "Швидкість тарифів".
 +\\
 +
 +
 +Також додаємо мережу і сервіс за допомогою відповідного модуля "Сервіси та послуги":\\
 +{{ :mig4.png?400 |}}
 +{{ :mig5.png?400 |}}
 +
 +Попередньо прибираємо заголовки стовпців (нам потрібні чисті дані) з нашого файлу для конвертації та приводимо його до такого вигляду:
 +<file csv 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
 +</file>
 +
 +
 +Після чого переходимо безпосередньо до конвертації:
 +{{ :mig6.png?400 |}}
 +
 +Вгорі ми бачимо скільки всього стовпців з даними було виявлено (Found count of data columns), а також те, як з точки зору конвертера виглядають ці дані відносно стовпців (First of imported data rows). Ліворуч - номери стовпців (Conumn number), праворуч - наочно показано вміст стовпця (Column content).\\
 +
 +{{ :mig7.png?400 |}}
 +
 +Далі нам потрібно встановити відповідності номерів стовпців реальним даним у діалозі нижче (Select data columns and their values), а також встановити тип конвертації, який ми хочемо здійснити  (User registration mode):\\
 +
 +{{ :mig8.png?400 |}}
 +
 +У показаному вище на скріншоті прикладі ми встановлюємо всім користувачам кредити в нуль (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).
 +Наступним кроком має бути перевірка того, чи все у нас нормально вичепилося з файлу з абонбазою і підтвердження нашого бажання зареєструвати користувачів.
 +
 +{{ :mig9.png?400 |}}
 +
 +Після підтвердження можна сміливо йти в модуль "Користувачі" перевіряти, що ж воно наконвертувало. У нашому випадку це все буде виглядати якось так:
 +
 +{{ :mig10.png?400 |}}
 +
 +**Важливо:**
 +Станом на стабільний реліз Ubilling 0.4.4 модуль "Міграція" все ще розробляється і поки що не вміє автоматично заселяти користувачів за адресами. Адресні дані з початкового файлу тимчасово пишуться в поле "Примітки" користувача і можуть бути використані для ручного заселення, або подальшого постпроцесингу додатковими скриптами.