GitHub maintains two separate ID systems for objects: node IDs (used in GraphQL API) and database IDs (used in URLs). Node IDs can be decoded to extract database IDs without requiring database migrations. Legacy repositories use base64-encoded string format, while newer ones use MessagePack binary serialization containing
•7m read time• From greptile.com
Table of contents
Spotting a pattern between node and database IDsExtracting the database IDThe archaeology of GitHub's node IDsDecoding the full node ID structureFrom node IDs to clickable linksSort: