from datetime import datetime from extensions import db from models.user import User from models.camera import Camera from models.space import Space from models.time_schedule import TimeSchedule from models.service_instance import ServiceInstance from models.record import Record from random import choice def seed_records(): # Verificar se a tabela de registros já contém dados if db.session.query(Record).count() > 0: print("A tabela de registros já contém dados. O seed não será executado.") return # Obter algumas instâncias de usuários, câmeras, espaços e outros registros para o seed users = User.query.all() cameras = Camera.query.all() spaces = Space.query.all() schedules = TimeSchedule.query.all() service_instances = ServiceInstance.query.all() # Verifica se as listas têm instâncias, caso contrário, informa o erro if not users or not cameras or not spaces or not schedules or not service_instances: print("Erro: Não há dados suficientes para preencher os registros.") return # Criando um exemplo de registro com dados aleatórios de relações for _ in range(10): # Inserindo 10 registros de exemplo record = Record( user_id=choice(users).id, camera_id=choice(cameras).id, space_id=choice(spaces).id, schedule_id=choice(schedules).id, shift_id=choice([1, 2, 3]), # Escolha de shift aleatório: 1=Manhã, 2=Tarde, 3=Noite service_instance_id=choice(service_instances).id, created_at=datetime.now(), updated_at=datetime.now() ) # Adiciona o registro ao banco de dados db.session.add(record) # Commit no banco db.session.commit() print("Seed de registros concluído com sucesso.")