15 lines
611 B
SQL
15 lines
611 B
SQL
CREATE TABLE tasks (
|
|
id integer GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
owner integer NOT NULL REFERENCES users(id),
|
|
name text NOT NULL,
|
|
notes text,
|
|
schedule task_schedule NOT NULL DEFAULT 'daily',
|
|
min_frequency integer,
|
|
max_frequency integer,
|
|
created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CHECK(min_frequency IS NULL OR max_frequency IS NULL OR max_frequency > min_frequency)
|
|
);
|
|
|
|
CREATE TRIGGER set_tasks_updated BEFORE UPDATE ON tasks FOR EACH ROW EXECUTE PROCEDURE set_updated_timestamp();
|