Файл Ruby, в который будут записываться все SQL INSERT и SQL DELETE (и только эти команды) - PullRequest
0 голосов
/ 07 июня 2011

Я работаю с базой данных PostgreSQL.Я написал файл .rb, который я использую для манипулирования данными в базе данных.Я хочу иметь возможность регистрировать все SQL INSERT и DELETE, вызванные этим файлом.Как мне это сделать?

1 Ответ

2 голосов
/ 07 июня 2011

В начале вашего скрипта создайте необходимые временные таблицы и добавьте два триггера, один при вставке, один при удалении, и сделайте так, чтобы они запускались для каждой строки соответственно. это также работает с правилами:

create temporary table foo_log_ins (like foo);

create rule log_foo_ins as
on insert to foo
do also
insert into foo_log select new.*;

create temporary table foo_log_del (like foo);

create rule log_foo_del as
on delete to foo
do also
insert into foo_log_del select old.*;
...