Coverage for backend \ app \ Venta \ models \ promocionModel.py: 100.00%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
1from sqlalchemy import Column, Integer, String, Float, DateTime, Boolean, ForeignKey
2from sqlalchemy.orm import relationship
3from app.database import Base
4from sqlalchemy.sql import func
6class Promocion(Base):
7 __tablename__ = "promocion"
8 idPromocion = Column(Integer, primary_key=True, autoincrement=True)
9 idProducto = Column(Integer, ForeignKey("producto.idProducto"), nullable=False)
10 nombrePromocion = Column(String(100), nullable=False)
11 porcentajePromocion = Column(Float, nullable=False)
12 fechaInicioPromocion = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
13 fechaFinPromocion = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
14 activoPromocion = Column(Boolean, default=True, nullable=False)
16 producto = relationship("Producto", back_populates="promociones")
17 detallesVenta = relationship("DetalleVenta", back_populates="promocion")