Skip to content

Commit

Permalink
feat: adiciona no banco as novas informações de professores
Browse files Browse the repository at this point in the history
  • Loading branch information
ana-pfeilsticker committed Jul 2, 2024
1 parent 82dac32 commit 3254c71
Show file tree
Hide file tree
Showing 10 changed files with 1,137 additions and 1 deletion.
9 changes: 8 additions & 1 deletion banco/criaBanco.sql → banco/criacao/criaBanco.sql
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,11 @@ CREATE TABLE usuario (
senha VARCHAR(100) NOT NULL,
curso VARCHAR(100),
foto_url VARCHAR(500)
);
);

CREATE TABLE professor_graduacoes (
cod_graduacao INT AUTO_INCREMENT PRIMARY KEY,
cod_professor VARCHAR(255),
graduacao VARCHAR(255),
FOREIGN KEY (cod_professor) REFERENCES professor(cod_professor) ON DELETE CASCADE ON UPDATE CASCADE
);
50 changes: 50 additions & 0 deletions banco/preenchimento/preencheInformacoesPessoais.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@

import pymysql.cursors
import json

# Carregar os dados do JSON
with open('../../data/info-pessoais-professores.json', 'r', encoding='utf-8') as file:
data = json.load(file)

# Estabelecer a conexão com o banco de dados
connection = pymysql.connect(
host='35.193.233.216',
user='root',
password='mdssquad4avaliaunbdb24',
database='avalia_unb',
charset='utf8mb3',
cursorclass=pymysql.cursors.DictCursor
)

try:
with connection.cursor() as cursor:
# Atualizar a tabela de professores e inserir as graduações
for professor in data['dados']:
# Atualizar os dados do professor na tabela de professores
sql_professor = """
UPDATE professor
SET email = %s, sala = %s
WHERE cod_professor = %s
"""
cursor.execute(sql_professor, (professor['email'], professor['sala'], professor['codigo']))

# Inserir as graduações do professor na tabela professor_graduacoes
for graduacao in professor['graduacoes']:
sql_graduacao = """
INSERT INTO professor_graduacoes (cod_professor, graduacao)
VALUES (%s, %s)
"""
cursor.execute(sql_graduacao, (professor['codigo'], graduacao))

# Confirmar as alterações no banco de dados
connection.commit()
print("Dados atualizados com sucesso!")

except Exception as e:
# Em caso de erro, imprimir o erro e fazer rollback das alterações
print("Erro:", e)
connection.rollback()

finally:
# Fechar a conexão com o banco de dados
connection.close()
1 change: 1 addition & 0 deletions preencher.py → banco/preenchimento/preencher.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

import pymysql.cursors
import json

Expand Down
File renamed without changes.
1 change: 1 addition & 0 deletions data/data.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Esses dados foram retirados da listagem de professores do Sigaa e serão usados para o preenchimento do banco de dados
Loading

0 comments on commit 3254c71

Please sign in to comment.