backie/migrations/2021-06-05-112912_create_fang_tasks/up.sql

31 lines
1.2 KiB
MySQL
Raw Normal View History

2021-06-06 08:44:46 +00:00
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
2021-06-12 12:59:09 +00:00
CREATE TYPE fang_task_state AS ENUM ('new', 'in_progress', 'failed', 'finished');
2021-06-05 11:39:19 +00:00
CREATE TABLE fang_tasks (
2021-06-06 08:44:46 +00:00
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
metadata jsonb NOT NULL,
2021-06-12 12:59:09 +00:00
error_message TEXT,
state fang_task_state default 'new' NOT NULL,
task_type VARCHAR default 'common' NOT NULL,
2021-06-05 11:39:19 +00:00
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
);
2021-06-12 12:59:09 +00:00
2021-06-23 10:48:03 +00:00
CREATE INDEX fang_tasks_state_index ON fang_tasks(state);
CREATE INDEX fang_tasks_type_index ON fang_tasks(task_type);
2021-06-12 12:59:09 +00:00
CREATE INDEX fang_tasks_created_at_index ON fang_tasks(created_at);
CREATE INDEX fang_tasks_metadata_index ON fang_tasks(metadata);
CREATE TABLE fang_periodic_tasks (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
metadata jsonb NOT NULL,
period_in_seconds INTEGER NOT NULL,
scheduled_at TIMESTAMP WITH TIME ZONE,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
);
CREATE INDEX fang_periodic_tasks_scheduled_at_index ON fang_periodic_tasks(scheduled_at);
CREATE INDEX fang_periodic_tasks_metadata_index ON fang_periodic_tasks(metadata);