====== Міграція з інших білінгових систем ====== В Ubilling, починаючи з версії 0.3.9 у "Консолі розробника" з'явився функціонал, що дозволяє максимально спростити міграцію абонентської бази з інших систем. Одразу попереджаємо - цей функціонал є де-факто небезпечним, і гратися з ним на продакшн серверах - більш ніж безглузда затія.\\ ===== Для початку нам буде потрібно ===== - Свіжовстановлений Ubilling (так, так - з повністю чистою базою) - Експортовані з іншої системи дані про користувачів у текстовому вигляді - Трохи терпіння ===== Поїхали мігрувати ===== Припустімо, ми настільки ледачі, що хочемо сконвертувати цілих трьох з половиною користувачів з такого ось файлу в кодуванні cp1251: Логін;Пароль;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":\\ {{ :mig1.png?400 |}} {{ :mig2.png?400 |}} {{ :mig3.png?400 |}} Далі за аналогією додаємо тариф "Unlim-5" і не забуваємо присвоїти їм швидкість у модулі "Швидкість тарифів". \\ Також додаємо мережу і сервіс за допомогою відповідного модуля "Сервіси та послуги":\\ {{ :mig4.png?400 |}} {{ :mig5.png?400 |}} Попередньо прибираємо заголовки стовпців (нам потрібні чисті дані) з нашого файлу для конвертації та приводимо його до такого вигляду: 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 Після чого переходимо безпосередньо до конвертації: {{ :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 модуль "Міграція" все ще розробляється і поки що не вміє автоматично заселяти користувачів за адресами. Адресні дані з початкового файлу тимчасово пишуться в поле "Примітки" користувача і можуть бути використані для ручного заселення, або подальшого постпроцесингу додатковими скриптами.