Биллинговая система Nodeny
30 Апреля 2024, 22:47:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Проблема при Update с 49.26 на 49.33 SQL  (Прочитано 4053 раз)
ankos
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 45


Просмотр профиля Email
« : 06 Мая 2011, 16:09:53 »

Привет всем!

При апдейте скрипт install.pl дает следующую ошибку:
Цитировать
[ND Installer] NoDeny database [bill_db_nodeny]:
[SQL] SELECT data FROM files WHERE name='tbl_version'
tbl_version=89
Creating/Updating tables...

[SQL] ALTER TABLE dopvalues ADD UNIQUE (parent_id,dopfield_id)

DBD::mysql::db do failed: Duplicate entry '4-1' for key 1 at /home/user/49.33/install.pl line 94, <STDIN> line 7.
Sql Error!

Искал по таблицам есть строки, которые повторяются! Может в этом проблема? Виборка в файле снизу!
« Последнее редактирование: 06 Мая 2011, 16:13:12 от ankos » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #1 : 06 Мая 2011, 16:38:18 »

Да, проблема как раз в повторяющихся строках, а именно в том, что не должно быть повторения комбинаций из двух полей parent_id и dopfield_id, а в файле есть. Почему они появились: из-за того, что раньше (до версии 49.33) в таблице dopvalues хранились ревизии, устаревшие должны были удалиться запросом:

DELETE FROM dopvalues WHERE revision NOT IN (SELECT rev FROM rev_users) AND revision NOT IN (SELECT rev FROM rev_equip)

но он почему-то не выполнился (?)

В твоем случае проще всего грохнуть лишние записи в dopvalues
Записан
ankos
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 45


Просмотр профиля Email
« Ответ #2 : 06 Мая 2011, 16:53:25 »

Я уже попробывал и вот что у меня случилось:

при
Цитировать
SELECT *
FROM `dopdata`
LIMIT 0 , 30
Цитировать
#1356 - View 'bill_db_nodeny.dopdata' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

Я так чувствую, еще пару експериментов и я застрял на долго!
« Последнее редактирование: 06 Мая 2011, 16:56:51 от ankos » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #3 : 06 Мая 2011, 17:08:11 »

Код:
DROP VIEW IF EXISTS dopdata;
CREATE ALGORITHM=MERGE VIEW dopdata AS SELECT * FROM dopfields f LEFT JOIN dopvalues v ON f.id=v.dopfield_id;
Записан
ankos
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 45


Просмотр профиля Email
« Ответ #4 : 06 Мая 2011, 17:22:37 »

Может лучше мне новую систему поставить и дамп залить на нее? Что скажите?

Но я так понимаю, что потом появится такаяже проблема?
« Последнее редактирование: 06 Мая 2011, 17:26:39 от ankos » Записан
ankos
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 45


Просмотр профиля Email
« Ответ #5 : 06 Мая 2011, 17:50:13 »

Теперь не могу вносить никакие данные в "Технические данные" дает ответ:
Цитировать
   
Ошибка при изменении данных

Все порсле:
Цитировать
[ND Installer] NoDeny database [bill_db_nodeny]:
[SQL] SELECT data FROM files WHERE name='tbl_version'
tbl_version=86
Creating/Updating tables...

[SQL] ALTER TABLE `dopfields` ADD UNIQUE (`field_alias`)

[SQL] UPDATE files SET data='87' WHERE name='tbl_version'

[SQL] DELETE FROM dopvalues WHERE revision NOT IN (SELECT rev FROM rev_users) AND revision NOT IN (SELECT rev FROM rev_equip)

[SQL] UPDATE files SET data='88' WHERE name='tbl_version'

[SQL] ALTER TABLE dopvalues DROP revision, DROP time, DROP admin_id, DROP line_id

[SQL] UPDATE files SET data='89' WHERE name='tbl_version'

[SQL] ALTER TABLE dopvalues ADD UNIQUE (parent_id,dopfield_id)

Sql Error!


буду благодарен за совет!
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #6 : 06 Мая 2011, 18:35:42 »

Поскольку ты вручную выполнял sql-запросы, то эти же запросы, выполненные инсталятором приведут к ошибке, я предполагаю, что ALTER TABLE dopvalues ADD UNIQUE (parent_id,dopfield_id) тобою уже выполнено, следовательно он 2й раз не выполнится т.к. этот индекс уже создан.

Вот такая фишка:

UPDATE files SET data='87' WHERE name='tbl_version'

указывает на каком шаге остановился инсталятор. Попробуй перескочить на 1 шаг вперед:

UPDATE files SET data='90' WHERE name='tbl_version'

Но, вообще непонятно почему у тебя возникли бока, видимо у тебя с БД что-то не так было изначально, все должно было идти гладко
Записан
ankos
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 45


Просмотр профиля Email
« Ответ #7 : 06 Мая 2011, 20:07:11 »

Большое спасибо! Обновился!
Только клиенты по РРРоЕ престали подключаться! Буду искать проблему!
Цитировать
Fri May  6 20:58:35 2011
        NAS-Identifier = "bill.ua"
        NAS-IP-Address = 127.0.0.1
        Acct-Session-Id = "4704711-re0-3"
        NAS-Port = 3
        NAS-Port-Type = Ethernet
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Calling-Station-Id = "002200b15877"
        Called-Station-Id = ""
        NAS-Port-Id = "re0"
        Vendor-12341-Attr-12 = 0x7265302d33
        Tunnel-Medium-Type:0 = IEEE-802
        Tunnel-Client-Endpoint:0 = "00:22:00:b1:58:77"
        Framed-IP-Address = 127.0.0.2
        User-Name = "krush_roman"
        Acct-Multi-Session-Id = "4704711-B-2"
        Vendor-12341-Attr-13 = 0x422d32
        Vendor-12341-Attr-14 = 0x6e6731
        Vendor-12341-Attr-15 = 0x00000006
        Acct-Link-Count = 1
        Acct-Authentic = RADIUS
        Acct-Status-Type = Stop
        Acct-Terminate-Cause = Service-Unavailable
        Acct-Session-Time = 6
        Acct-Input-Octets = 504
        Acct-Input-Packets = 10
        Acct-Input-Gigawords = 0
        Acct-Output-Octets = 102
        Acct-Output-Packets = 6
        Acct-Output-Gigawords = 0
        Client-IP-Address = 127.0.0.1
        Acct-Unique-Session-Id = "cfdaf4e6c04dae8c"
        Timestamp = 1304704715
Записан
ankos
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 45


Просмотр профиля Email
« Ответ #8 : 06 Мая 2011, 20:45:05 »

Вопрос решился после перезаписи процедур radcheck, radreply ну и т.д.

Большое спосибо за помощь!!! Строит глазки
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!