Jump to content

Recurring Events Table Schema


Recommended Posts

Hello freaks!


So I'm trying to build an app which requires to have recurrent events, such as repeat, every week on mon wed fri at specific time with occurrences limit, or limited by date ranges.  Perfect example is Mozilla Sunbird or Google Calendar and their repeat features, especially Sunbird, which has an 'exception' feature which I direly need.  I've been kind of stuck with the database design ideas.  I've done a numerous amount of research, even as much as trying to sort through Sunbird's sources for table schemas, but I can't seem up fully understand how to make this PROPERLY.


I will greatly appreciate some guidance!


Thank you in advance guys!



Link to comment
Share on other sites

When I've done this I generated all the individual events, say every Monday at 09:00 and gave them a group code. Individual events had no group

| eventid | DateTimeFrom        | DateTimeTo          | Description      | Group |
|    1    | 2014-01-06 09:00:00 | 2014-01-06 10:00:00 | Team meeting     |   1   |
|    2    | 2014-01-13 09:00:00 | 2014-01-13 10:00:00 | Team meeting     |   1   |
|    3    | 2014-01-20 09:00:00 | 2014-01-20 10:00:00 | Team meeting     |   1   |
|    4    | 2014-01-28 16:00:00 | 2014-01-28 17:00:00 | Dentist          |  NULL |

This allows change or cancellation of individual events in the group plus changes to the group as a whole

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.