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

Главная категория => Nodeny 49 => Тема начата: Eugene от 06 Декабря 2010, 17:16:46



Название: Не работает поиск по полям клиентов
Отправлено: Eugene от 06 Декабря 2010, 17:16:46
Точнее, после восставноления БД, дамп которой был сделан стандартным скриптом, идущим вместе с биллингом, поиск работает только по новым записям, сделанным уже после восстановления. "Старые" записи поиск просто игнорирует по всем полям. Не поможете, может, была у кого проблема?


Название: Re: Не работает поиск по полям клиентов
Отправлено: versus от 06 Декабря 2010, 23:55:50
очень мало информации


Название: Re: Не работает поиск по полям клиентов
Отправлено: Lexx от 07 Декабря 2010, 00:47:10
Вероятнее всего dopdata перенеслось как TABLE, а не как VIEW.


Название: Re: Не работает поиск по полям клиентов
Отправлено: Efendy от 07 Декабря 2010, 10:14:31
В личных настройках админа поставь галку "показывать отладочные сообщения", затем сделай поиск, вверху нажми на кнопочку "debug" и скопируй сюда sql-запросы, если увидишь ошибку в каком-то одном, то только его


Название: Re: Не работает поиск по полям клиентов
Отправлено: Eugene от 12 Декабря 2010, 18:42:46
Ошибок в запросе не нашёл, решил выложить запись целиком:
Код:
Данные, переданые методом post:
a = listuser
tmpl = 2
pp = T1-97477110DNIw1XoLZAjqz8Hvue2XLg
f = q
dopfield_5 =
dopfield_full_5 = 1
dopfield_6 =
dopfield_full_6 = 1
dopfield_11 =
dopfield_full_11 = 1
dopfield_12 =
dopfield_full_12 = 1
dopfield_7 =
dopfield_full_7 = 1
dopfield_8 =
dopfield_full_8 = 1
dopfield_9 =
dopfield_full_9 = 1
dopfield_10 = стоматолог
Код:
DELETE FROM admin_session WHERE time_expire<unix_timestamp() (0 строк, 0.000807 сек)
SELECT * FROM admin_session WHERE act=2 AND salt='T1-97477110DNIw1XoLZAjqz8Hvue2XLg' AND system_id='6296486569' LIMIT 1 (1 строк, 0.001556 сек)
UPDATE admin_session SET time_expire=unix_timestamp()+14400 WHERE salt='T1-97477110DNIw1XoLZAjqz8Hvue2XLg' AND system_id='6296486569' LIMIT 1 (1 строк, 0.001031 сек)
SELECT *,unix_timestamp(),AES_DECRYPT(passwd,'...') FROM admin WHERE id=1 (1 строк, 0.001297 сек)
SELECT * FROM offices (2 строк, 0.000631 сек)
SELECT * FROM user_grp (4 строк, 0.00071 сек)
Время выполнения adm.pl: 0.006032 сек
Код:
Характеристики всех существующих дополнительных полей SELECT * FROM dopfields Строк: 12. Время выполнения sql: 0.0006 сек
Код:
Список всех улиц SELECT * FROM p_street ORDER BY name_street Строк: 4. Время выполнения sql: 0.0006 сек
Код:
Выполняющиеся задания работников SELECT mid FROM pays WHERE type=50 AND category=460 Строк: 2. Время выполнения sql: 0.0006 сек
Код:
	Основной запрос:
SELECT SQL_CALC_FOUND_ROWS id FROM users WHERE id IN (SELECT DISTINCT parent_id AS id FROM dopvalues WHERE revision IN (SELECT rev FROM rev_users WHERE template_num=2) AND dopfield_id=10 AND field_value LIKE '%стоматолог%') LIMIT 0,50
Время выполнения sql: 0.215108 сек
Всего строк: 0

Хотя, в описании слово "стоматолог" есть как минимум, у одного клиента.

Вероятнее всего dopdata перенеслось как TABLE, а не как VIEW.

А как же это исправить на рабочем сервере?


Название: Re: Не работает поиск по полям клиентов
Отправлено: Efendy от 13 Декабря 2010, 10:10:56
Сначала выяснить какая версия NoDeny после цифры 49. Затем
drop table dopdata
create view согласно версии


Название: Re: Не работает поиск по полям клиентов
Отправлено: Eugene от 13 Декабря 2010, 20:14:08
Версия: 49.32.7
Единственно, поискал на форуме не нашёл какие именно есть рекомендации восстановления БД согласно версии. Я пользовался документцией к биллингу, есть ещё какие то материалы по вопросу? Не поможете?