Last active
March 15, 2022 12:42
-
-
Save PlugFox/780fec40a21935d7a17984b3b70e528b to your computer and use it in GitHub Desktop.
Auto update column
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE OR REPLACE FUNCTION jobs.trigger_update_timestamp() | |
RETURNS TRIGGER AS $$ | |
BEGIN | |
NEW.updated = NOW()::timestamp; | |
RETURN NEW; | |
END; | |
$$ LANGUAGE plpgsql; | |
-- DROP TABLE jobs.job; | |
CREATE TABLE IF NOT EXISTS jobs.job ( | |
id int4 NOT NULL GENERATED ALWAYS AS IDENTITY, | |
deletion_mark bool NULL DEFAULT false; | |
creator_id text NOT NULL, | |
created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
updated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
job_data jsonb NOT NULL, | |
CONSTRAINT job_pkey PRIMARY KEY (id) | |
); | |
CREATE INDEX IF NOT EXISTS job_deletion_mark_idx ON jobs.job USING btree (deletion_mark); | |
CREATE INDEX IF NOT EXISTS job_creator_id_idx ON jobs.job USING btree (creator_id); | |
CREATE INDEX IF NOT EXISTS job_created_idx ON jobs.job USING btree (created); | |
CREATE INDEX IF NOT EXISTS job_updated_idx ON jobs.job USING btree (updated); | |
COMMENT ON COLUMN jobs.job.id IS 'Идентификатор элемента'; | |
COMMENT ON COLUMN jobs.job.deletion_mark IS 'Пометка на удаление'; | |
COMMENT ON COLUMN jobs.job.creator_id IS 'Идентификатор пользователя из ID token фаербейза'; | |
COMMENT ON COLUMN jobs.job.created IS 'Создание'; | |
COMMENT ON COLUMN jobs.job.updated IS 'Последнее обновление'; | |
-- Table Triggers | |
CREATE TRIGGER update_timestamp | |
BEFORE UPDATE ON jobs.job | |
FOR EACH ROW | |
EXECUTE PROCEDURE jobs.trigger_update_timestamp(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment