sql >> Base de Datos >  >> RDS >> Mysql

sistema de facturación recurrente

Ciertamente almacenaría sus suscripciones por separado de la información de sus miembros. Esto no solo le permitirá tener un registro completo de todas las suscripciones, sino que también lo ayudará si necesita tener suscripciones de duración variable. La estructura de sus tablas podría ser algo como esto:

subscriptions
-------------
subscription_id  integer
member_id        integer
start_date       date
end_date         date
date_paid        datetime

Luego puede usar SQL directamente para encontrar suscripciones a punto de caducar, etc. Entonces, para encontrar cualquier suscripción que caduque dentro de los próximos siete días, podría tener algo como

SELECT
  member_id,
  MAX(end_date) as expires_date
FROM
  subscriptions
GROUP BY
  member_id
HAVING
  expires_date < DATE_ADD( CURDATE() INTERVAL 7 DAY )