Package registry database schema

How a package manager backend stores its data: packages and immutable published versions, integrity hashes, dependency ranges, movable dist tags like latest and beta, owners and scoped access tokens, download rollups, deprecations and yanks.

Package Registry ER diagram

Package registry database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 users idBIGINT usernameVARCHAR emailVARCHAR email_verified_atTIMESTAMPTZ is_activeBOOLEAN created_atTIMESTAMPTZ organizations idBIGINT scopeVARCHAR display_nameVARCHAR created_atTIMESTAMPTZ org_members org_idBIGINT user_idBIGINT roleVARCHAR added_atTIMESTAMPTZ packages idBIGINT org_idBIGINT nameVARCHAR descriptionVARCHAR homepage_urlVARCHAR repository_urlVARCHAR license_idVARCHAR is_privateBOOLEAN deprecated_messageVARCHAR downloads_all_timeBIGINT created_atTIMESTAMPTZ updated_atTIMESTAMPTZ package_owners package_idBIGINT user_idBIGINT roleVARCHAR added_by_idBIGINT added_atTIMESTAMPTZ package_versions idBIGINT package_idBIGINT versionVARCHAR majorINTEGER minorINTEGER patchINTEGER prereleaseVARCHAR tarball_keyVARCHAR integrity_sha512CHAR unpacked_bytesBIGINT tarball_bytesBIGINT manifestJSONB readmeTEXT published_by_idBIGINT published_atTIMESTAMPTZ deprecated_messageVARCHAR yanked_atTIMESTAMPTZ yanked_reasonVARCHAR version_dependencies idBIGINT version_idBIGINT dependency_nameVARCHAR range_expressionVARCHAR kindVARCHAR resolved_package_…BIGINT dist_tags package_idBIGINT tagVARCHAR version_idBIGINT updated_by_idBIGINT updated_atTIMESTAMPTZ access_tokens idBIGINT user_idBIGINT nameVARCHAR token_hashVARCHAR token_prefixCHAR scope_kindVARCHAR package_filterJSONB expires_atTIMESTAMPTZ last_used_atTIMESTAMPTZ revoked_atTIMESTAMPTZ created_atTIMESTAMPTZ version_downloads version_idBIGINT dayDATE package_idBIGINT download_countBIGINT registry_audit_log idBIGINT package_idBIGINT version_idBIGINT actor_idBIGINT token_idBIGINT actionVARCHAR detailsJSONB actor_ipINET created_atTIMESTAMPTZ

Related database schemas