我使用网络应用程序的工资很低。
我想允许人们在付费之前试用该应用。
为此,我希望有一个系统可以创建临时用户帐户,然后在30分钟左右后再次删除。
首先想到的是将一个类型为“TINYINT”的列“isTemp”添加到accounts表中,然后设置一个cronjob以每30分钟执行一次查询“DELETE FROM accounts WHERE isTemp = 1”。
然而......我对此有点紧张。我担心早上醒来发现整个账户表都是空的。我意识到这可能是一种非理性的恐惧,但我不喜欢在账户表附近的预定DELETE语句。 :)
对此有何看法?这是应该做的吗?或者我应该重新考虑一下吗?
先谢谢你的帮助。
答案 0 :(得分:1)
最佳解决方案是active
和inactive
帐户。但是,如果使用当前编码不容易做到这一点,那么DELETE
就足够了。我建议在创建用户帐户时创建datetime
字段。您可以创建一个简单的cron作业,然后检查signup time + 30 mins
或其他类似的内容,然后DELETE
。如果这让您担心,请让脚本在最初几天手动通过电子邮件发送给您,并手动执行操作以确保其正常运行。
使用active
和inactive
的好处是它只是一个简单的bool更改,而不是丢失所有数据。
希望有所帮助!
答案 1 :(得分:0)
问题是,如果用户在第29分钟登录,系统会在30分钟删除它们,即使它们仅处于活动状态1分钟,它们的帐户也会被删除。
你最好做一个“DELETE FROM accounts WHERE isTemp = 1 AND account_created> {30分钟前}
(插入代码以计算超过30分钟前的时间戳)
P.S。 30分钟的临时账户时间不长 - 可能是2小时 -