74 lines
2.4 KiB
Python
74 lines
2.4 KiB
Python
from extensions import db
|
|
from models.address import Address
|
|
from models.address_type import AddressType
|
|
from models.user import User
|
|
|
|
def seed_address():
|
|
# Supondo que já exista um usuário no banco
|
|
user = User.query.filter_by(email="usuario@exemplo.com").first()
|
|
|
|
if not user:
|
|
print("Usuário não encontrado. Certifique-se de que o usuário foi criado.")
|
|
return
|
|
|
|
# Recuperando tipos de endereço
|
|
address_types = {
|
|
"residencial": AddressType.query.filter_by(name="residencial").first(),
|
|
"entrega": AddressType.query.filter_by(name="entrega").first(),
|
|
"cobrança": AddressType.query.filter_by(name="cobrança").first(),
|
|
}
|
|
|
|
# Lista de endereços a serem inseridos
|
|
addresses_to_create = [
|
|
{
|
|
"street": "Rua Exemplo, 123",
|
|
"city": "São Paulo",
|
|
"state": "SP",
|
|
"zip_code": "01000-000",
|
|
"country": "Brasil",
|
|
"address_type_id": address_types["residencial"].id,
|
|
},
|
|
{
|
|
"street": "Avenida Comercial, 456",
|
|
"city": "Rio de Janeiro",
|
|
"state": "RJ",
|
|
"zip_code": "20000-000",
|
|
"country": "Brasil",
|
|
"address_type_id": address_types["entrega"].id,
|
|
},
|
|
{
|
|
"street": "Rua de Cobrança, 789",
|
|
"city": "São Paulo",
|
|
"state": "SP",
|
|
"zip_code": "03000-000",
|
|
"country": "Brasil",
|
|
"address_type_id": address_types["cobrança"].id,
|
|
},
|
|
]
|
|
|
|
for address_data in addresses_to_create:
|
|
# Verificar se já existe um endereço com o mesmo CEP para o usuário
|
|
existing_address = Address.query.filter_by(
|
|
zip_code=address_data["zip_code"],
|
|
user_id=user.id
|
|
).first()
|
|
|
|
if existing_address:
|
|
print(f"Endereço com CEP {address_data['zip_code']} já existe. Pulando...")
|
|
continue
|
|
|
|
# Criar e adicionar o endereço
|
|
address = Address(
|
|
street=address_data["street"],
|
|
city=address_data["city"],
|
|
state=address_data["state"],
|
|
zip_code=address_data["zip_code"],
|
|
country=address_data["country"],
|
|
user_id=user.id,
|
|
address_type_id=address_data["address_type_id"]
|
|
)
|
|
db.session.add(address)
|
|
|
|
db.session.commit()
|
|
print(f"Endereços para {user.email} criados com sucesso!")
|