A table for status updates
In the MyStatus application, we'll begin by creating a timeline of status updates for each user. Users can view their friends' status updates by accessing the timeline of the friend in question.
The user timeline requires a new level of organization that we didn't see in the users
table that we created in the previous chapter. Specifically, we have two requirements:
Rows (individual status updates) should be logically grouped by a certain property (the user who created the update)
Rows should be accessible in sorted order (in this case, by creation date)
Fortunately, compound primary keys provide exactly these qualities.
Creating a table with a compound primary key
The syntax for creating tables with compound primary keys is a bit different from the single-column primary key syntax we saw in the previous chapter. We create a user_status_updates
table with a compound primary key, as follows:
CREATE TABLE "user_status_updates" ( "username" text, "id" timeuuid, "body...