I was looking at the 2 proposals for the future DB schema we are going to have and noticed that both these schema proposals use columns to represent user permissions.
IsAbleToAsk (Boolean default TRUE)
IsAbleToAnswer (Boolean default TRUE)
IsAbleToComment (Boolean default FALSE)
IsAbleToSuggestEdits (Boolean default FALSE)
IsAbleToUpvote (Boolean default FALSE)
IsModerator (Boolean default FALSE)
With this kind of approach every time there is a new feature needed there will be a need to add another column and change the database schema.
Like for instance being to edit only blog posts.
So as a solution I suggest add another table which will hold each permission and its type.
In a similar approach shorten the UsersSuspensions Table
BanEndDate (date NULL)