from app.extensions import db


class PaydownBalanceUpdate(db.Model):
    __tablename__ = 'paydown_balance_updates'
    __table_args__ = (
        db.Index('idx_balance_updates_account', 'account_id', 'updated_at'),
    )

    id = db.Column(db.Integer, primary_key=True)
    balance = db.Column(db.Numeric(10, 2), nullable=False)  # positive decimal
    updated_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now())

    account_id = db.Column(db.Integer, db.ForeignKey('accounts.id', ondelete='RESTRICT'), nullable=False)
    account = db.relationship('Account', back_populates='balance_updates')
