mirror of
https://github.com/LeNei/axum-sqlx-template.git
synced 2026-02-13 22:56:19 +00:00
21 lines
589 B
PL/PgSQL
21 lines
589 B
PL/PgSQL
-- Create updated_at function and trigger
|
|
CREATE OR REPLACE FUNCTION manage_updated_at(_tbl regclass) RETURNS VOID AS $$
|
|
BEGIN
|
|
EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s
|
|
FOR EACH ROW EXECUTE PROCEDURE set_updated_at()', _tbl);
|
|
END;
|
|
$$ LANGUAGE plpgsql;
|
|
|
|
CREATE OR REPLACE FUNCTION set_updated_at() RETURNS trigger AS $$
|
|
BEGIN
|
|
IF (
|
|
NEW IS DISTINCT FROM OLD AND
|
|
NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at
|
|
) THEN
|
|
NEW.updated_at := current_timestamp;
|
|
END IF;
|
|
RETURN NEW;
|
|
END;
|
|
$$ LANGUAGE plpgsql;
|
|
|