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
Post cover image
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 links

Sort: