Files
omnivore/packages/db/migrations/0180.do.folder_policy.sql
2024-06-13 18:29:21 +08:00

23 lines
958 B
PL/PgSQL
Executable File

-- Type: DO
-- Name: folder_policy
-- Description: Create a folder_policy table to contain the folder expiration policies for user and folder
BEGIN;
CREATE TABLE omnivore.folder_policy (
id UUID PRIMARY KEY DEFAULT uuid_generate_v1mc(),
user_id UUID NOT NULL REFERENCES omnivore.user(id) ON DELETE CASCADE,
folder TEXT NOT NULL, -- folder name in lowercase
action TEXT NOT NULL, -- delete or archive
after_days INT NOT NULL, -- number of days after which the action should be taken
minimum_items INT NOT NULL DEFAULT 0, -- minimum number of items to keep in the folder
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TRIGGER update_folder_policy_modtime BEFORE UPDATE ON omnivore.folder_policy FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
GRANT SELECT, INSERT, UPDATE, DELETE ON omnivore.folder_policy TO omnivore_user;
COMMIT;