Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SMPPIR-Tables
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SMPPIR
SMPPIR-Tables
Commits
a92b3e1b
Commit
a92b3e1b
authored
6 years ago
by
Henrique Varella Ehrenfried
Browse files
Options
Downloads
Patches
Plain Diff
Add script to create and remove AG tables
parent
f555182e
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Aggregate.py
+124
-0
124 additions, 0 deletions
Aggregate.py
with
124 additions
and
0 deletions
Aggregate.py
0 → 100644
+
124
−
0
View file @
a92b3e1b
import
sys
import
subprocess
# Params:
# 1) Local do SQL
# 2) Tipo de uso = g para Grupos predefinidos e f para arquivos.
# 3) Arquivos ou grupos: Caso queira usar mais de um grupo ou arquivo, colocar entre " ": "INEP PNAD FIES"
# 4) Ação a ser utilizada: create | drop | rebuild
# 5) Nome do banco que será inserido
#---------------DATA------------------
INEP
=
[
'
admission.sql
'
,
'
course.sql
'
,
'
evader.sql
'
,
'
extracurricular_activities.sql
'
,
'
graduate.sql
'
,
'
institution.sql
'
,
'
institutionPrivate.sql
'
,
'
social_support.sql
'
,
'
student_loans.sql
'
]
PROUNI
=
[
'
coursePROUNI.sql
'
,
'
institutionPROUNI.sql
'
'
prouni.sql
'
]
PNAD
=
[
'
pnad.sql
'
]
CADUNICO
=
[
'
cad_unico.sql
'
]
FIES
=
[
'
courseFIES.sql
'
,
'
fies.sql
'
,
'
institutionFIES.sql
'
]
ALL_GROUPS
=
INEP
+
PROUNI
+
PNAD
+
CADUNICO
+
FIES
DATABASE_TABLE_NAME
=
{
'
admission.sql
'
:
'
admission_ag
'
,
'
course.sql
'
:
'
course_ag
'
,
'
evader.sql
'
:
'
evader_ag
'
,
'
extracurricular_activities.sql
'
:
'
extracurricular_activities_ag
'
,
'
graduate.sql
'
:
'
graduate_ag
'
,
'
institution.sql
'
:
'
institution_ag
'
,
'
institutionPrivate.sql
'
:
'
institution_private_ag
'
,
'
social_support.sql
'
:
'
social_support_ag
'
,
'
student_loans.sql
'
:
'
student_loans_ag
'
,
'
coursePROUNI.sql
'
:
'
course_prouni_ag
'
,
'
institutionPROUNI.sql
'
:
'
institution_prouni_ag
'
,
'
prouni.sql
'
:
'
prouni_ag
'
,
'
pnad.sql
'
:
'
pnad_ag
'
,
'
cad_unico.sql
'
:
'
cad_unico_ag
'
,
'
courseFIES.sql
'
:
'
course_fies_ag
'
,
'
fies.sql
'
:
'
fies_ag
'
,
'
institutionFIES.sql
'
:
'
institution_fies_ag
'
}
DATA
=
{
"
INEP
"
:
INEP
,
"
PROUNI
"
:
PROUNI
,
"
PNAD
"
:
PNAD
,
"
CADUNICO
"
:
CADUNICO
,
"
FIES
"
:
FIES
,
"
ALL_GROUPS
"
:
ALL_GROUPS
}
#----------------LOGIC------------------
if
len
(
sys
.
argv
)
!=
6
:
print
(
'''
Params:
1) Local do SQL
2) Tipo de uso = g para Grupos predefinidos e f para arquivos.
3) Arquivos ou grupos: Caso queira usar mais de um grupo ou arquivo, colocar entre
"
"
:
"
INEP PNAD FIES
"
4) Ação a ser utilizada: create | drop | rebuild
5) Nome do banco que será inserido
"
'''
)
exit
(
1
)
SQL_PATH
=
sys
.
argv
[
1
]
FILES_OR_GROUPS
=
sys
.
argv
[
2
].
upper
()
FILES
=
sys
.
argv
[
3
]
if
FILES_OR_GROUPS
==
'
F
'
else
False
GROUPS
=
sys
.
argv
[
3
].
upper
()
if
FILES_OR_GROUPS
==
'
G
'
else
False
ACTION
=
sys
.
argv
[
4
]
DATABASE
=
sys
.
argv
[
5
]
WORK_DATA
=
FILES
if
FILES
else
GROUPS
WORK_DATA
=
WORK_DATA
.
split
(
"
"
)
def
drop_tables
(
tables_to_work
):
for
t2w
in
tables_to_work
:
print
(
"
\033
[1;32;40m[Executing SQL]:
"
+
"
\033
[1;37;40mDROP TABLE
"
+
DATABASE_TABLE_NAME
[
t2w
]
+
"
;
"
)
subprocess
.
run
([
"
mclient
"
,
"
-d
"
,
DATABASE
,
"
-s
"
,
'
DROP TABLE
'
+
DATABASE_TABLE_NAME
[
t2w
]
+
'
;
'
])
def
create_tables
(
tables_to_work
):
for
t2w
in
tables_to_work
:
print
(
"
\033
[1;32;40m[Executing SQL File]:
"
+
"
\033
[1;37;40m
"
+
t2w
)
subprocess
.
run
([
"
mclient
"
,
"
-d
"
,
DATABASE
,
SQL_PATH
+
'
/
'
+
t2w
])
def
rebuild_tables
(
tables_to_work
):
drop_tables
(
tables_to_work
)
create_tables
(
tables_to_work
)
def
run_action
():
if
FILES_OR_GROUPS
==
'
G
'
:
SELECTED_GROUPS
=
[]
for
WD
in
WORK_DATA
:
SELECTED_GROUPS
+=
DATA
[
WD
]
SELECTED_TABLES
=
WORK_DATA
if
FILES_OR_GROUPS
==
'
F
'
else
SELECTED_GROUPS
if
ACTION
==
'
drop
'
:
drop_tables
(
SELECTED_TABLES
)
if
ACTION
==
'
create
'
:
create_tables
(
SELECTED_TABLES
)
if
ACTION
==
'
rebuild
'
:
rebuild_tables
(
SELECTED_TABLES
)
run_action
()
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment