Posts, comments, replies, and likes database schema I have a site where a users can comment on posts or reply to a comment. The user can also like replies or comments. Replies are not nested, so a reply doesn't have a reply. However, there is another field called reply_to within the reply table. Here's my current schema:

Comment
id
user (foreign key)
post (foreign key)
comment

Reply
id
user (foreign key)
comment (foreign key)
reply

CommentLike (Table that shows which user liked which comments)
id
comment (foreign key)
user (foreign key)
like (1 = likes, 0 = dislikes)

ReplyLike (Table that shows which user liked which replies)
id
reply (foreign key)
user (foreign key)
like (1 = likes, 0 = dislikes)


Does this seem like a good schema to use, or is there a better way to create this sort of structure?
Your question would be easier to read, if you included the references for your foreign keys.

I'm guessing that user (foreign key) refers to field id in users table (not displayed), and similarly with post.

With those two, as well as with the other foreign keys, I would attach _id to the name, so that it's clear they are ids and not names.

You don't specify primary keys. Did you already designate id in each table to be the primary key, and has auto-increment? If not, make sure you do. 

Other than that, I think it's pretty good.