Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

"Исчезли" хранимые процедуры и функции в БД ukmserver. : УКМ-4

12.12.2024 17:15


07.04.2015 10:44
Доброго времени суток! В 2012 был установлен 49.5, подключены около 40 магазинов и с тех пор особо ничего не менялось в настройках. Но потребовалось завести новый тип счетов (для бонусов) и посыпались ошибки в WEB интерфейсе (Например "DB error: unknown error" при добавлении нового счета).....при этом сам сервер работает, цены на кассы уходят, продажи приходят, ранее настроенные скидки работают....открыл базу MySQL и увидел что ни одной хранимой процедуры (из 25 которые должны быть) и ни одной функции (из 50) просто нет....таблицы - есть, триггеры есть, а процедур и функций - нет

Собственно теперь 2 вопроса: как такое могло случиться? и как это можно исправить? (накопировать с рабочей базы как нибудь?).

Заранее спасибо!
07.04.2015 11:02
На сервере или на кассе?
Цитата:
как такое могло случиться?
Такое может быть следствием "кривого" восстановления из бэкапа...
Цитата:
и как это можно исправить? (накопировать с рабочей базы как нибудь?).
Можно попробовать сделать дамп, потом установить с нуля УКМ4 и загрузить данные из дампа.
Но 100% гарантии не будет, поэтому лучше сделать бэкап. Или 3 бэкапа, на всякий случай.
07.04.2015 11:08
Это именно на сервере
07.04.2015 11:34
Вполне возможно, что их там и не было... Восстанавливали БД, восстановили только по используемому функционалу и бросили. Нет?
07.04.2015 14:17
УКМ4 переустанавливали на разных серверах за 3 года раза 3, и делали это 3 разных сисадмина + делали обновление самого MySQL года полтора назад. Вполне возможно что кто то из них перенес базу "криво". Сейчас актуальнее вопрос "как вернуть процедуры и функции обратно?" При этом есть родной дистрибутив 49.5 (и как следствие - родная структура БД).
07.04.2015 17:56
Давно не пользовался, но должно работать.
Переменные поправьте, пароль и т.п.
Код:
@echo off
REM Дамп БД без таблиц и триггеров, только процедуры/функции

setlocal enabledelayedexpansion

SET DBHOST=localhost
SET DBPORT=
SET DBNAME=ukmserver
SET DBUSER=root
SET DBPASSWORD=

SET BACKUPDRIVE=F:
SET BACKUPDIR=backup\ukm
if not "%1"=="" set DBHOST=%1
if not "%2"=="" set DBPASSWORD=%2
SET BACKUPNAME=%BACKUPDRIVE%\%BACKUPDIR%\%DBHOST%_%DBNAME%
SET DBBACKUPFILE=%BACKUPNAME%-dump_procs.sql

SET MYSQL_BIN=C:\mysql\bin\


echo === %0 starting work ===
echo = %DATE% %TIME% - DB dump

echo -----------------------------------
echo DBHOST=%DBHOST%
echo DBNAME=%DBNAME%
echo DBUSER=%DBUSER%
echo DBBACKUPFILE="%DBBACKUPFILE%"
echo -----------------------------------

%BACKUPDRIVE%
if NOT EXIST "%BACKUPDRIVE%\%BACKUPDIR%" md "%BACKUPDRIVE%\%BACKUPDIR%"
cd "%BACKUPDRIVE%\%BACKUPDIR%"

echo USE %DBNAME% > "%DBBACKUPFILE%"

%MYSQL_BIN%\mysqldump.exe --no-create-db --no-create-info --no-data -R --triggers=FALSE --user=%DBUSER% --host=%DBHOST% --port=%DBPORT% --password=%DBPASSWORD% %DBNAME% >> "%DBBACKUPFILE%"


if ERRORLEVEL 1 GOTO error


echo = %DATE% %TIME%
echo SUCCESS: %0 - backup complete
echo ===================================
exit /B 0

:error
echo ===================================
echo = %DATE% %TIME%
echo ERROR:   %0 - backup failed
echo ===================================
exit /B 1
Часовой пояс GMT +3, время: 17:15.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.