Skip to content

Commit 3f988b6

Browse files
committed
migrations improved.
1 parent 758ab27 commit 3f988b6

1 file changed

Lines changed: 13 additions & 14 deletions

File tree

migrations/001_initial.up.sql

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS workflows.workflow_definitions (
99
UNIQUE(name, version)
1010
);
1111

12-
CREATE INDEX idx_workflow_definitions_name ON workflows.workflow_definitions(name);
12+
CREATE INDEX IF NOT EXISTS idx_workflow_definitions_name ON workflows.workflow_definitions(name);
1313

1414
CREATE TABLE IF NOT EXISTS workflows.workflow_instances (
1515
id BIGSERIAL PRIMARY KEY,
@@ -24,9 +24,9 @@ CREATE TABLE IF NOT EXISTS workflows.workflow_instances (
2424
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
2525
);
2626

27-
CREATE INDEX idx_workflow_instances_workflow_id ON workflows.workflow_instances(workflow_id);
28-
CREATE INDEX idx_workflow_instances_status ON workflows.workflow_instances(status);
29-
CREATE INDEX idx_workflow_instances_created_at ON workflows.workflow_instances(created_at DESC);
27+
CREATE INDEX IF NOT EXISTS idx_workflow_instances_workflow_id ON workflows.workflow_instances(workflow_id);
28+
CREATE INDEX IF NOT EXISTS idx_workflow_instances_status ON workflows.workflow_instances(status);
29+
CREATE INDEX IF NOT EXISTS idx_workflow_instances_created_at ON workflows.workflow_instances(created_at DESC);
3030

3131
CREATE TABLE IF NOT EXISTS workflows.workflow_steps (
3232
id BIGSERIAL PRIMARY KEY,
@@ -44,9 +44,9 @@ CREATE TABLE IF NOT EXISTS workflows.workflow_steps (
4444
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
4545
);
4646

47-
CREATE INDEX idx_workflow_steps_instance_id ON workflows.workflow_steps(instance_id);
48-
CREATE INDEX idx_workflow_steps_status ON workflows.workflow_steps(status);
49-
CREATE INDEX idx_workflow_steps_step_name ON workflows.workflow_steps(step_name);
47+
CREATE INDEX IF NOT EXISTS idx_workflow_steps_instance_id ON workflows.workflow_steps(instance_id);
48+
CREATE INDEX IF NOT EXISTS idx_workflow_steps_status ON workflows.workflow_steps(status);
49+
CREATE INDEX IF NOT EXISTS idx_workflow_steps_step_name ON workflows.workflow_steps(step_name);
5050

5151
CREATE TABLE IF NOT EXISTS workflows.workflow_join_state (
5252
id BIGSERIAL PRIMARY KEY,
@@ -62,8 +62,7 @@ CREATE TABLE IF NOT EXISTS workflows.workflow_join_state (
6262
UNIQUE(instance_id, join_step_name)
6363
);
6464

65-
CREATE INDEX idx_workflow_join_state_instance ON workflows.workflow_join_state(instance_id);
66-
CREATE INDEX idx_workflow_join_state_ready ON workflows.workflow_join_state(is_ready);
65+
CREATE INDEX IF NOT EXISTS idx_workflow_join_state_instance ON workflows.workflow_join_state(instance_id);
6766

6867
CREATE TABLE IF NOT EXISTS workflows.workflow_queue (
6968
id BIGSERIAL PRIMARY KEY,
@@ -75,9 +74,9 @@ CREATE TABLE IF NOT EXISTS workflows.workflow_queue (
7574
priority INT NOT NULL DEFAULT 0
7675
);
7776

78-
CREATE INDEX idx_workflow_queue_scheduled ON workflows.workflow_queue(scheduled_at, priority DESC)
77+
CREATE INDEX IF NOT EXISTS idx_workflow_queue_scheduled ON workflows.workflow_queue(scheduled_at, priority DESC)
7978
WHERE attempted_at IS NULL;
80-
CREATE INDEX idx_workflow_queue_instance_id ON workflows.workflow_queue(instance_id);
79+
CREATE INDEX IF NOT EXISTS idx_workflow_queue_instance_id ON workflows.workflow_queue(instance_id);
8180

8281
CREATE TABLE IF NOT EXISTS workflows.workflow_events (
8382
id BIGSERIAL PRIMARY KEY,
@@ -88,9 +87,9 @@ CREATE TABLE IF NOT EXISTS workflows.workflow_events (
8887
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
8988
);
9089

91-
CREATE INDEX idx_workflow_events_instance_id ON workflows.workflow_events(instance_id);
92-
CREATE INDEX idx_workflow_events_created_at ON workflows.workflow_events(created_at DESC);
93-
CREATE INDEX idx_workflow_events_event_type ON workflows.workflow_events(event_type);
90+
CREATE INDEX IF NOT EXISTS idx_workflow_events_instance_id ON workflows.workflow_events(instance_id);
91+
CREATE INDEX IF NOT EXISTS idx_workflow_events_created_at ON workflows.workflow_events(created_at DESC);
92+
CREATE INDEX IF NOT EXISTS idx_workflow_events_event_type ON workflows.workflow_events(event_type);
9493

9594
CREATE OR REPLACE FUNCTION workflows.update_updated_at_column()
9695
RETURNS TRIGGER AS $$

0 commit comments

Comments
 (0)