Skip to content

Commit 66f93fe

Browse files
fixed bug for when sql statements for projects gets generated
1 parent c114304 commit 66f93fe

File tree

4 files changed

+17
-14
lines changed

4 files changed

+17
-14
lines changed

postgres/scripts/v1_to_v2/copy_from_csv.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
USER="mapswipe_workers"
44
NAME="mapswipe"
5-
#tasks users results
6-
for entity in users results
5+
6+
for entity in projects groups tasks users results
77
do
88
psql -h localhost -p 5432 -U ${USER} -d ${NAME} -a -f copy_${entity}_from_csv.sql
99
done
10+
11+
# Commands if docker postgres port is not exposed:
1012
# docker cp ${entity}.csv mapswipe_postgres:${entity}.csv
1113
# docker cp copy_${entity}_from_csv.sql mapswipe_postgres:copy_${entity}_from_csv.sql
1214
# docker exec -t mapswipe_postgres psql -U ${USER} -d ${NAME} -a -f copy_${entity}_from_csv.sql
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
-- Export v1 MapSwipe data to csv.
22
-- Rename attributes to conform to v2.
33
\copy (SELECT user_id, username FROM users) TO users.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
4-
\copy (SELECT project_id, task_id, user_id, timestamp as "timeint", info FROM results WHERE project_id = 5519) TO results.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
4+
\copy (SELECT project_id, task_id, user_id, timestamp as "timeint", info FROM results WHERE project_id = 5549) TO results.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
-- Export v1 MapSwipe data to csv.
22
-- Rename attributes to conform to v2.
3-
\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 WHERE project_id = 5519) TO projects.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
4-
\copy (SELECT i.import_id, i.info FROM imports i, projects p WHERE p.project_id = 5519 AND p.importkey = i.import_id) TO imports.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
5-
\copy (SELECT project_id, group_id, count as "number_of_tasks", completedcount as "finished_count", verificationcount as "required_count", info as "project_type_specifics" FROM groups WHERE project_id = 5519 ) TO groups.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
6-
\copy (SELECT project_id, group_id, task_id, info as "project_type_specifics" FROM tasks WHERE project_id = 5519) TO tasks.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
3+
\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 WHERE project_id in (select project_id from results group by project_id) AND project_id = 5549) TO projects.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
4+
\copy (SELECT i.import_id, i.info FROM imports i, projects p WHERE import_id in (select importkey as import_id from projects) AND p.project_id = 5549 AND p.importkey = i.import_id) TO imports.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
5+
\copy (SELECT project_id, group_id, count as "number_of_tasks", completedcount as "finished_count", verificationcount as "required_count", info as "project_type_specifics" FROM groups WHERE project_id in (select project_id from results group by project_id) AND project_id = 5549 ) TO groups.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);
6+
\copy (SELECT project_id, group_id, task_id, info as "project_type_specifics" FROM tasks WHERE project_id in (select project_id from results group by project_id) AND project_id = 5549) TO tasks.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);

postgres/scripts/v1_to_v2/generate_copy_to_csv.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,24 @@
22

33

44
def get_query(project_ids):
5+
clause = 'WHERE project_id in (select project_id from results group by project_id)'
6+
clause_import = 'WHERE import_id in (select importkey as import_id from projects)'
57
if project_ids is None:
6-
clause = ''
7-
clause_import = ''
8+
pass
89
elif len(project_ids) == 1:
9-
clause = f'WHERE project_id = {project_ids[0]}'
10-
clause_import = f'WHERE p.project_id = {project_ids[0]} AND p.importkey = i.import_id'
10+
clause = f'{clause} AND project_id = {project_ids[0]}'
11+
clause_import = f', projects p {clause_import} AND p.project_id = {project_ids[0]} AND p.importkey = i.import_id'
1112
else:
12-
clause = f'WHERE project_id = {project_ids[0]}'
13-
clause_import = f'WHERE p.project_id = {project_ids[0]} AND p.importkey = i.import_id'
13+
clause = f'{clause} AND project_id = {project_ids[0]}'
14+
clause_import = f', projects p {clause_import} AND p.project_id = {project_ids[0]} AND p.importkey = i.import_id'
1415
for project_id in project_ids[1:]:
1516
clause = clause + f' OR project_id = {project_id}'
1617
clause_import = clause + f' OR p.project_id = {project_id} AND p.importkey = i.import_id'
1718

1819
query = f'-- Export v1 MapSwipe data to csv.\n' \
1920
f'-- Rename attributes to conform to v2.\n' \
2021
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' \
21-
f'\copy (SELECT i.import_id, i.info FROM imports i, projects p {clause_import}) TO imports.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n' \
22+
f'\copy (SELECT i.import_id, i.info FROM imports i {clause_import}) TO imports.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n' \
2223
f'\copy (SELECT project_id, 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' \
2324
f'\copy (SELECT project_id, group_id, task_id, info as "project_type_specifics" FROM tasks {clause}) TO tasks.csv WITH (FORMAT CSV, DELIMITER ",", HEADER TRUE);\n'
2425
return query

0 commit comments

Comments
 (0)