Blog & CMS database schema

A content management schema that survives contact with editors: posts with an append-only revision history, categories and tags, threaded comments, a real media library, slug redirects and a double opt-in newsletter list.

Blog CMS ER diagram

Blog & CMS database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 authors idBIGINT emailVARCHAR display_nameVARCHAR slugVARCHAR bioTEXT avatar_asset_idBIGINT roleVARCHAR is_activeBOOLEAN created_atTIMESTAMP categories idBIGINT parent_idBIGINT nameVARCHAR slugVARCHAR descriptionTEXT positionINTEGER posts idBIGINT author_idBIGINT category_idBIGINT slugVARCHAR titleVARCHAR excerptVARCHAR bodyTEXT statusVARCHAR published_atTIMESTAMP meta_titleVARCHAR meta_descriptionVARCHAR canonical_urlVARCHAR cover_asset_idBIGINT reading_minutesINTEGER view_countBIGINT created_atTIMESTAMP updated_atTIMESTAMP post_revisions idBIGINT post_idBIGINT author_idBIGINT revision_numberINTEGER titleVARCHAR bodyTEXT change_summaryVARCHAR is_published_vers…BOOLEAN created_atTIMESTAMP tags idBIGINT nameVARCHAR slugVARCHAR usage_countINTEGER post_tags post_idBIGINT tag_idBIGINT added_atTIMESTAMP comments idBIGINT post_idBIGINT parent_idBIGINT author_idBIGINT guest_nameVARCHAR guest_emailVARCHAR bodyTEXT statusVARCHAR ip_addressVARCHAR created_atTIMESTAMP media_assets idBIGINT uploaded_by_idBIGINT storage_keyVARCHAR filenameVARCHAR mime_typeVARCHAR byte_sizeBIGINT widthINTEGER heightINTEGER alt_textVARCHAR created_atTIMESTAMP slug_redirects idBIGINT from_pathVARCHAR to_pathVARCHAR status_codeINTEGER post_idBIGINT created_atTIMESTAMP subscribers idBIGINT emailVARCHAR statusVARCHAR confirmation_toke…VARCHAR confirmed_atTIMESTAMP unsubscribed_atTIMESTAMP sourceVARCHAR created_atTIMESTAMP

Related database schemas