-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_users_script.py
More file actions
58 lines (48 loc) · 1.64 KB
/
Copy pathcreate_users_script.py
File metadata and controls
58 lines (48 loc) · 1.64 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Script para criar um usuário de teste no banco de dados
import os
from decimal import Decimal
from dotenv import load_dotenv
from database.connection import User, SessionLocal, Base, engine
# Carrega as variáveis de ambiente do arquivo .env
load_dotenv()
def create_user_record(db_session, user_data):
"""
Função para criar um novo usuário no banco de dados.
"""
try:
new_user = User(
name=user_data["name"],
cpf_cnpj=user_data["cpf_cnpj"],
email=user_data["email"],
balance=Decimal(user_data["balance"]),
phone=user_data["phone"]
)
db_session.add(new_user)
db_session.commit()
db_session.refresh(new_user)
print(f"Usuário '{new_user.name}' criado com sucesso! ID: {new_user.id}")
return new_user
except Exception as e:
db_session.rollback()
print(f"Erro ao criar usuário: {e}")
return None
if __name__ == "__main__":
# Garante que as tabelas existem antes de tentar inserir dados
print("Verificando a existência das tabelas...")
Base.metadata.create_all(bind=engine)
db = SessionLocal()
# Dados do novo usuário para criar
user_to_create = {
"name": "Jane Smith",
"cpf_cnpj": "11122233344",
"email": "jane.smith@example.com",
"balance": 5000.00,
"phone": "11999998888"
}
print("Criando novo usuário de teste...")
created_user = create_user_record(db, user_to_create)
db.close()
if created_user:
print("Script concluído com sucesso.")
else:
print("Script finalizado com erros.")