【发布时间】:2013-05-27 00:55:56
【问题描述】:
我正在用 Ruby on Rails 构建一个电视连续剧调度应用程序,它会根据当前电视上的内容执行某些操作。用户可以创建具有开始和结束日期的系列,并可以为这些系列创建广播。广播可以在三个频道之一上进行,形式为“每周二,第 2 频道,从 10:00:00 到 14:00:00”。
目前,我使用以下列将这些广播存储在 MySQL 中:wday 整数、starts_at 和 ends_at 时间字段以及 channel_id 整数。因此,上述广播将与wday 2、channel_id 2、starts_at "10:00:00" 和ends_at "14:00:00" 以及对其所属事件的引用一起存储。广播可以“跨越”午夜,因此应用程序应允许以“23:00:00”开始和“02:00:00”结束的广播,即第二天凌晨 2 点。
我在以下两个问题上遇到了一些严重的问题:
只能在特定时间的特定时间安排一个广播 渠道。应用需要验证用户输入,并检查是否有 存在特定频道和时间的广播。
应用程序需要显示当前显示的广播,如果有的话,每个 三个频道中。基本上,对于每个频道,找到一个广播 开始时间
我完全不确定使用时间字段作为开始/结束时间是否是最佳解决方案。请记住,我需要存储时间值,而不是日期,因为在系列期间每周二都会进行广播。
您将如何存储这些广播,允许在特定时间进行验证和查询,允许广播“跨越”午夜?
【问题讨论】:
标签: mysql ruby-on-rails time schedule period