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!")