49 lines
1.9 KiB
Python
49 lines
1.9 KiB
Python
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.")
|