我有一个电子商务网站(基于magento2),上面有需要在特定日期之间提供的产品。我已经在mysql数据库中保存了特定的开始和结束日期,但是现在需要在到达时间时触发产品的启用/禁用。如果不设置每秒运行一次的cron作业来编辑状态,如何在两者之间建立实时链接?
sauutmhj1#
“我每秒钟都需要一个cron”对于一个mysql问题意味着您实际上需要一个 VIEW (或最终 TRIGGER 对于最重的情况)。假设你有 product.startDate 以及 product.endDate 列,以及 product.isEnabled . 然后创建以下 VIEW :
VIEW
TRIGGER
product.startDate
product.endDate
product.isEnabled
CREATE VIEW `productView` AS SELECT startDate AS startDate, endDate AS endDate, (isEnabled AND NOW() BETWEEN startDate AND endDate) AS isEnabled FROM product
用这个 VIEW 在你的代码里( SELECT p.isEnaled FROM productView ). 如果无法使用代码更新php,只需重命名表(例如 productTable )使用 product 作为视图的名称。
SELECT p.isEnaled FROM productView
productTable
product
1条答案
按热度按时间sauutmhj1#
“我每秒钟都需要一个cron”对于一个mysql问题意味着您实际上需要一个
VIEW
(或最终TRIGGER
对于最重的情况)。假设你有
product.startDate
以及product.endDate
列,以及product.isEnabled
. 然后创建以下VIEW
:用这个
VIEW
在你的代码里(SELECT p.isEnaled FROM productView
). 如果无法使用代码更新php,只需重命名表(例如productTable
)使用product
作为视图的名称。