3v324v23's picture
feat(db): Implement SQLAlchemy models and database configuration
227477c
from sqlalchemy import Column, Integer, String, Float, DateTime
from sqlalchemy.sql import func
from app.core.database import Base
class PredictionLog(Base):
__tablename__ = "prediction_logs"
id = Column(Integer, primary_key=True, index=True)
timestamp = Column(DateTime(timezone=True), server_default=func.now())
# Input features
age = Column(Integer)
genre = Column(String)
revenu_mensuel = Column(Integer)
statut_marital = Column(String)
departement = Column(String)
poste = Column(String)
nombre_experiences_precedentes = Column(Integer)
nombre_heures_travailless = Column(Integer)
annee_experience_totale = Column(Integer)
annees_dans_l_entreprise = Column(Integer)
annees_dans_le_poste_actuel = Column(Integer)
satisfaction_employee_environnement = Column(Integer)
note_evaluation_precedente = Column(Integer)
niveau_hierarchique_poste = Column(Integer)
satisfaction_employee_nature_travail = Column(Integer)
satisfaction_employee_equipe = Column(Integer)
satisfaction_employee_equilibre_pro_perso = Column(Integer)
note_evaluation_actuelle = Column(Integer)
heure_supplementaires = Column(String)
augementation_salaire_precedente = Column(String)
nombre_participation_pee = Column(Integer)
nb_formations_suivies = Column(Integer)
nombre_employee_sous_responsabilite = Column(Integer)
distance_domicile_travail = Column(Integer)
niveau_education = Column(Integer)
domaine_etude = Column(String)
ayant_enfants = Column(String)
frequence_deplacement = Column(String)
annees_depuis_la_derniere_promotion = Column(Integer)
annes_sous_responsable_actuel = Column(Integer)
# Output
prediction = Column(Integer)
probability = Column(Float, nullable=True)