File: //var/packages/Spreadsheet/scripts/create_user_statistic.sql
BEGIN;
DROP TABLE IF EXISTS db_user_statistic_version;
CREATE TABLE IF NOT EXISTS db_user_statistic_version (
version NUMERIC UNIQUE NOT NULL
);
DROP TRIGGER IF EXISTS db_user_statistic_version_no_delete ON db_user_statistic_version;
CREATE OR REPLACE FUNCTION db_user_statistic_version_no_delete ()
RETURNS trigger
LANGUAGE plpgsql AS $f$
BEGIN
RAISE EXCEPTION 'You may not delete the DB version!';
END; $f$;
CREATE TRIGGER db_user_statistic_version_no_delete
BEFORE DELETE ON db_user_statistic_version
FOR EACH ROW EXECUTE PROCEDURE db_user_statistic_version_no_delete();
INSERT INTO db_user_statistic_version(version) VALUES (1);
DROP TABLE IF EXISTS user_event_log;
CREATE TABLE IF NOT EXISTS user_event_log (
id BIGSERIAL PRIMARY KEY,
uid BIGINT NOT NULL,
created_at BIGINT NOT NULL,
event TEXT NOT NULL
);
CREATE INDEX idx_user_event_log_event ON user_event_log(event);
COMMIT;