mirror of
https://github.com/LeNei/axum-sqlx-template.git
synced 2026-02-13 22:56:19 +00:00
first commit
This commit is contained in:
5
migrations/20230507154934_initial_setup.down.sql
Normal file
5
migrations/20230507154934_initial_setup.down.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
-- remove function for updated_at
|
||||
DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass);
|
||||
|
||||
DROP FUNCTION IF EXISTS diesel_set_updated_at();
|
||||
|
||||
20
migrations/20230507154934_initial_setup.up.sql
Normal file
20
migrations/20230507154934_initial_setup.up.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
-- Create updated_at function and trigger
|
||||
CREATE OR REPLACE FUNCTION diesel_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 diesel_set_updated_at()', _tbl);
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE FUNCTION diesel_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;
|
||||
|
||||
Reference in New Issue
Block a user