-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path20230626110229_completion_revamp.up.sql
29 lines (27 loc) · 1.26 KB
/
20230626110229_completion_revamp.up.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-- Add up migration script here
DROP INDEX IF EXISTS projects_completion_idx;
ALTER TABLE projects
DROP COLUMN completion,
ADD COLUMN completion double precision NOT NULL GENERATED ALWAYS AS (
(
CASE WHEN length(name) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(description) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(image::text) > 2 THEN 1 ELSE 0 END +
CASE WHEN length(tagline) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(website) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(linktree::text) > 2 THEN 1 ELSE 0 END +
CASE WHEN length(vertical::text) > 2 THEN 1 ELSE 0 END +
CASE WHEN array_length(product_type, 1) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(integration) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(dev) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(distribution) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(stage) > 0 THEN 1 ELSE 0 END +
CASE WHEN company_size > 0 THEN 1 ELSE 0 END +
CASE WHEN length(geo) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(problem) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(success_position) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(why) > 0 THEN 1 ELSE 0 END +
CASE WHEN length(vision) > 0 THEN 1 ELSE 0 END
) / 18.0
) STORED;
CREATE INDEX projects_completion_idx ON projects (completion);