Биллинговая система Nodeny

Главная категория => Nodeny 50 => Тема начата: goletsa от 11 Октября 2009, 21:48:59



Название: Обновление 50.19 -> 50.31
Отправлено: goletsa от 11 Октября 2009, 21:48:59
Такой вопрос по дополнительным данным.
При обновлении я так понимаю часть столбцов из таблицы users удалится? Или нет?
Просто там из критичного сейчас хранятся маки кабельных модемов, не хотелось бы их терять.
Т.е. надо сначала их перенести из одной таблицы в другую или как правильнее?
Или апдейтер сам разрулит такие ситуации?


Название: Re: Обновление 50.19 -> 50.31
Отправлено: Efendy от 11 Октября 2009, 21:56:53
ответ здесь:

http://forum.nodeny.com.ua/index.php?topic=121.0


Название: Re: Обновление 50.19 -> 50.31
Отправлено: goletsa от 11 Октября 2009, 22:00:20
Если апдейтер не перенесет то можно ли перенести потом?
Или до апдейтера запускать надо.


Название: Re: Обновление 50.19 -> 50.31
Отправлено: Efendy от 11 Октября 2009, 22:06:41
Если апдейтер не перенесет то можно ли перенести потом?
Или до апдейтера запускать надо.
можно перенести потом. Однако надо из bill.sql вырезать строки:
Код:
#56
ALTER TABLE `users` DROP `dop_param`

и уже после переноса вручную грохнуть это поле и обязательно

Код:
DROP VIEW IF EXISTS fullusers;

CREATE ALGORITHM=MERGE VIEW fullusers AS SELECT u.*,p.name_street,t.* FROM users u
  LEFT JOIN p_street p ON p.street=u.street LEFT JOIN users_trf t ON u.id=t.uid;


Название: Re: Обновление 50.19 -> 50.31
Отправлено: goletsa от 11 Октября 2009, 22:11:03
И еще такой вопрос. При переносе можно ли както разделить одно поле на два.
Щас допустим в поле коментарий к адресу хранится два мака разделенные вертикальной чертой |
Разделить на два разных поля какнить по простому можно?


Название: Re: Обновление 50.19 -> 50.31
Отправлено: Efendy от 11 Октября 2009, 22:18:58
После   
Код:
($id,$fio,$name,$field)=&Get_fields('id','fio','name',$FIELD);

добавляешь:
 
Код:
$field=(split/\|/,$field)[0];

и тогда получаешь значение перед первой `|`

либо

Код:
$field=(split/\|/,$field)[1];

- второе поле и т.д.

Скрипт запускаешь в несколько проходов, сначала для первого поля, потом для 2го и т.д.