Skip to content

Honeycomb Schema

The core social/community extension powering rooms, messaging, calls, games, memberships, and moderation.

Community rooms (public, private, or password-protected).

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
creator_iduuidNO
nametextNO
slugtextNO
descriptiontextYES
typetextNO'public'
password_hashtextYES
category_iduuidYES
header_imagetextYES
is_age_restrictedbooleanNOfalse
requires_approvalbooleanNOfalse
is_suspendedbooleanNOfalse
max_membersintegerYES
member_countintegerNO0
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Categories for organizing rooms.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
nametextNO
slugtextNO
imagetextYES
sort_orderintegerNO0
created_attimestamptzNOnow()

Permission roles per room with hierarchical levels.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
nametextNO
levelintegerNO
label_colortextYES
permissionsjsonbNO'{}'
created_attimestamptzNOnow()

Room membership with role assignment.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
user_iduuidNO
role_iduuidNO
joined_attimestamptzNOnow()
banned_tilltimestamptzYES
is_pinnedbooleanNOfalse
referrer_iduuidYES

Shareable invite codes with expiry and use limits.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
codetextNO
created_byuuidNO
expires_attimestamptzYES
max_usesintegerYES
use_countintegerNO0
created_attimestamptzNOnow()

Chat messages in room channels.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
sender_iduuidNO
contenttextNO
typetextNO'text'
reply_to_iduuidYES
is_pinnedbooleanNOfalse
is_editedbooleanNOfalse
attachmentsjsonbYES
metadatajsonbYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Emoji reactions on room messages.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
message_iduuidNO
user_iduuidNO
emojitextNO
created_attimestamptzNOnow()

One-to-one DM threads.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
participant_1uuidNO
participant_2uuidNO
last_message_attimestamptzYES
is_blocked_byuuidYES
created_attimestamptzNOnow()

Messages within a DM conversation.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
conversation_iduuidNO
sender_iduuidNO
contenttextNO
typetextNO'text'
reply_to_iduuidYES
is_readbooleanNOfalse
read_attimestamptzYES
is_editedbooleanNOfalse
attachmentsjsonbYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Emoji reactions on DMs.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
message_iduuidNO
user_iduuidNO
emojitextNO
created_attimestamptzNOnow()

Real-time typing indicators.

ColumnTypeNullableDefault
user_iduuidNO
room_iduuidYES
conversation_iduuidYES
is_typingbooleanNOfalse
updated_attimestamptzNOnow()

Voice/video call channels.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidYES
created_byuuidNO
typetextNO'audio'
statustextNO'active'
titletextYES
max_participantsintegerYES
started_attimestamptzNOnow()
ended_attimestamptzYES
duration_secondsintegerYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Users in a call with media state.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
call_iduuidNO
user_iduuidNO
roletextNO'participant'
is_mutedbooleanNOfalse
is_camera_offbooleanNOfalse
is_screen_sharingbooleanNOfalse
joined_attimestamptzNOnow()
left_attimestamptzYES

Audit log for call events.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
call_iduuidNO
user_iduuidNO
eventtextNO
metadatajsonbYES
created_attimestamptzNOnow()

Live streaming sessions.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidYES
host_iduuidNO
titletextNO
descriptiontextYES
statustextNO'scheduled'
typetextNO'camera'
thumbnail_urltextYES
viewer_countintegerNO0
max_viewersintegerYES
started_attimestamptzYES
ended_attimestamptzYES
scheduled_fortimestamptzYES
duration_secondsintegerYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Viewers of a broadcast.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
broadcast_iduuidNO
user_iduuidNO
joined_attimestamptzNOnow()
left_attimestamptzYES

Community polls within rooms.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
created_byuuidNO
questiontextNO
descriptiontextYES
is_multiple_choicebooleanNOfalse
is_anonymousbooleanNOfalse
ends_attimestamptzYES
is_closedbooleanNOfalse
total_votesintegerNO0
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Poll answer choices.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
poll_iduuidNO
labeltextNO
vote_countintegerNO0
sort_ordersmallintNO0

Individual poll votes.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
poll_iduuidNO
option_iduuidNO
user_iduuidNO
created_attimestamptzNOnow()

Room membership tiers with Stripe pricing.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
nametextNO
descriptiontextYES
price_centsintegerNO
currencytextNO'usd'
intervaltextNO'month'
perksjsonbNO'[]'
badge_labeltextYES
badge_colortextYES
is_activebooleanNOtrue
sort_ordersmallintNO0
stripe_price_idtextYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Membership purchases/subscriptions.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
package_iduuidNO
user_iduuidNO
room_iduuidNO
statustextNO'active'
amount_centsintegerNO
currencytextNO'usd'
stripe_subscription_idtextYES
stripe_payment_intent_idtextYES
starts_attimestamptzNOnow()
expires_attimestamptzYES
canceled_attimestamptzYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Custom badges per room.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
created_byuuidNO
nametextNO
descriptiontextYES
icon_urltextYES
colortextNO'#6366f1'
criteriatextYES
is_autobooleanNOfalse
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Badges assigned to users.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
badge_iduuidNO
user_iduuidNO
assigned_byuuidYES
assigned_attimestamptzNOnow()

Sticker collections, optionally premium.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
nametextNO
descriptiontextYES
cover_urltextYES
created_byuuidNO
is_premiumbooleanNOfalse
price_centsintegerNO0
is_activebooleanNOtrue
sort_ordersmallintNO0
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Individual sticker images.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
pack_iduuidNO
nametextNO
image_urltextNO
sort_ordersmallintNO0
created_attimestamptzNOnow()

Embedded browser games.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
genre_iduuidYES
nametextNO
slugtextNO
descriptiontextYES
thumbnail_urltextYES
embed_urltextNO
is_multiplayerbooleanNOfalse
min_playersintegerNO1
max_playersintegerYES
is_activebooleanNOtrue
play_countintegerNO0
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Game categories.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
nametextNO
slugtextNO
icontextYES
sort_ordersmallintNO0

Leaderboard entries.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
game_iduuidNO
user_iduuidNO
scoreintegerNO
metadatajsonbYES
created_attimestamptzNOnow()

Monetary tips between users with Stripe.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
sender_iduuidNO
recipient_iduuidNO
room_iduuidYES
amount_centsintegerNO
currencytextNO'usd'
messagetextYES
is_anonymousbooleanNOfalse
stripe_payment_intent_idtextYES
statustextNO'completed'
created_attimestamptzNOnow()

Room-level ad placements with impression/click tracking.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidYES
created_byuuidNO
titletextNO
descriptiontextYES
image_urltextYES
link_urltextYES
placementtextNO'sidebar'
is_activebooleanNOtrue
impressionsintegerNO0
clicksintegerNO0
starts_attimestamptzYES
ends_attimestamptzYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

User reports/complaints within rooms.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
reporter_iduuidNO
reported_user_iduuidYES
message_iduuidYES
reasontextNO
descriptiontextYES
statustextNO'pending'
resolved_byuuidYES
resolved_attimestamptzYES
resolution_notetextYES
created_attimestamptzNOnow()
updated_attimestamptzNOnow()

Room-level user bans.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
user_iduuidNO
banned_byuuidNO
reasontextYES
typetextNO'temporary'
expires_attimestamptzYES
created_attimestamptzNOnow()

Banned IP addresses.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
ip_addresstextNO
reasontextYES
banned_byuuidNO
expires_attimestamptzYES
created_attimestamptzNOnow()

Per-room content moderation word filters.

ColumnTypeNullableDefault
iduuidNOgen_random_uuid()
room_iduuidNO
wordtextNO
replacementtextNO'***'
is_regexbooleanNOfalse
actiontextNO'replace'
created_byuuidNO
created_attimestamptzNOnow()