Skip to content

Commit 4198804

Browse files
get only groups/tasks of which a project exists and results of that project exists
1 parent 8231ce1 commit 4198804

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

postgres/scripts/v1_to_v2/generate_copy_to_csv.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,28 @@
44
def get_query(project_ids):
55
clause = 'WHERE project_id in (select project_id from results group by project_id)'
66
clause_import = 'WHERE import_id in (select importkey as import_id from projects)'
7+
clause_group = 'WHERE project_id in (select project_id from projects group by project_id) and project_id in (select project_id from results group by project_id)'
78
if project_ids is None:
89
pass
910
elif len(project_ids) == 1:
1011
clause = f'{clause} AND project_id = {project_ids[0]}'
1112
clause_import = f', projects p {clause_import} AND p.project_id = {project_ids[0]} AND p.importkey = i.import_id'
13+
clause_group = f'{clause_group} AND project_id = {project_ids[0]}'
1214
else:
1315
clause = f'{clause} AND project_id = {project_ids[0]}'
16+
clause_group = f'{clause_group} AND project_id = {project_ids[0]}'
1417
clause_import = f', projects p {clause_import} AND p.project_id = {project_ids[0]} AND p.importkey = i.import_id'
1518
for project_id in project_ids[1:]:
1619
clause = clause + f' OR project_id = {project_id}'
20+
clause_group = clause_group + f' OR project_id = {project_id}'
1721
clause_import = clause + f' OR p.project_id = {project_id} AND p.importkey = i.import_id'
1822

1923
query = f'-- Export v1 MapSwipe data to csv.\n' \
2024
f'-- Rename attributes to conform to v2.\n' \
2125
f'\copy (SELECT archive, image, importkey as "import_id", isfeatured AS "is_featured", lookfor AS "look_for", name, progress, projectdetails AS "project_details", project_id, project_type, state AS "status", info AS "project_type_specifics" FROM projects {clause}) TO projects.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n' \
2226
f'\copy (SELECT i.import_id, i.info FROM imports i {clause_import}) TO imports.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n' \
23-
f'\copy (SELECT project_id, group_id as "v1_group_id", count as "number_of_tasks", completedcount as "finished_count", verificationcount as "required_count", info as "project_type_specifics" FROM groups {clause} ) TO groups.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n' \
24-
f'\copy (SELECT project_id, group_id as "v1_group_id", task_id, info as "project_type_specifics" FROM tasks {clause}) TO tasks.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n'
27+
f'\copy (SELECT project_id, group_id as "v1_group_id", count as "number_of_tasks", completedcount as "finished_count", verificationcount as "required_count", info as "project_type_specifics" FROM groups {clause_group} ) TO groups.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n' \
28+
f'\copy (SELECT project_id, group_id as "v1_group_id", task_id, info as "project_type_specifics" FROM tasks {clause_group}) TO tasks.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n'
2529
return query
2630

2731

0 commit comments

Comments
 (0)