Forum Webscript.Ru
Общие => Базы данных => Тема начата: Stas от 04 Мая 2003, 20:44:45
-
Собсвтенно совет нужен...
Короче есть сайт компании по недвижимости. И конечно же есть БД. MySQL. Front и Backend написаны на PHP. Писал не я, а мне теперь нужно в чужом коде имплементировать modifications log: User, date/time, what. Как советуете это сделать ? Вручную - т.е. дописывать к каждому SQL запросу о вводе или обновлении таблицы свой SQL код для добавления в лог ? Может можно сделать на системном уровне включив MySQL лог ? Перейти на другую DBMS и наделать триггеров ?? ;)
Просто хотелось бы слышать ваше мнение....
-
Это же стандартная фича MySQL\'я - Журнал обновлений.
Наряду с резервированием используется для восстановления рухнувших баз.
Погляди ман.
-
> Это же стандартная фича MySQL\'я - Журнал обновлений.
это немного не то, что ему нужно ..
там не указывается пользователь, который выполнил запрос и время запроса
-
fidget
вот, я тоже так думаю... Можно как вариант достат CVS development MySQL 5.0 и сделать триггеры ? Ето решение ?
-
Stas, не хочу тебя огорчать, но там пока только хранимые процедуры. Насколько я знаю триггеров еще нет.
Среди вариантов вижу только два, если пользователь и время важны:
1. самому вести все записи (возможно есть уже готовые утилиты подобные, но я о них не знаю ;( )
2. другая СУБД, которая поддерживает подобную фичу или для которой разработы уже подобные утилиты.
-
fidget:
но там пока только хранимые процедуры
Триггер ето и есть хранимая процедура, насколько я знаю ...
http://www.mysql.com/doc/en/ANSI_diff_Triggers.html
Triggers will also be implemented. A trigger is effectively a type of stored procedure, one that is invoked when a particular event occurs.
Stored procedures are being implemented in our version 5.0 development tree.
Чё думаешь ? Может стоит ??
-
> Триггер ето и есть хранимая процедура, насколько я знаю ...
триггер срабатывает на 3 события: удаление, обновление, добавление
те коммиты в исходный код, примеры и обзор хранимых процедур, которые я видела - это именно обыкновенные хранимые процедуры, не триггера. Скорее всего они на базе этого и будут дальше разрабатывать триггера. Но пока я их не видела.
-
Ну ничё, BitKeeper уже скачал, гружу MySQL 5.0 ! ;) Посмотрим !!
Спасибо за совет!
-
ой, блин, не, я прогнала ..
Alexandr был прав, можно использовать стандартный log-update, но еще добавить опцию log-long-format, тогда будет записываться и пользователь и время.
но, они с версии 5.0 собираются log-update убрать, так что ..
-
fidget
Слушай, ешё такое дело.. Короче достал 200Мб всего source MySQL 5.0 что только есть ;) .. В Docs секции там файлы : s.manual.texti .. Какой-то странный формат, не знаешь что-ето такое и как его читать.. Там фразы интересные про триггеры проскакивали ...
-
fidget
что за log-update ? ето как ? из системы из шелл или доступен приамиком в SQL?
-
> что за log-update ?
опция, устанавливается при запуске сервера в my.cnf
только если ее ставить, то незабудь про log-long-format, а то ни пользователя и время записывать не будет.
-
> Какой-то странный формат, не знаешь что-ето такое и как его читать..
это тех
его тоже сначала собирают, а потом читают
как собирать уже не помню ;(
в принципе оно и так вполне читабельно
-
спасибо, попробую
-
Погодьте.....
Вот ещё:
У меня у прошлого хостера была такая штука...
короче вот смотрите:
http://www.autodealer.ru/tmp/mysqlstat.php.htm
заодно за глюк приколитесь.... :-)