Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🛠️ [TASK] : Migrate from ULID to UUIDv7 for Time-Ordered Identifiers #1369

Open
13 tasks
nathanbogale opened this issue Dec 10, 2024 · 0 comments · May be fixed by #1370
Open
13 tasks

🛠️ [TASK] : Migrate from ULID to UUIDv7 for Time-Ordered Identifiers #1369

nathanbogale opened this issue Dec 10, 2024 · 0 comments · May be fixed by #1370
Assignees
Labels
review me PR is ready for review

Comments

@nathanbogale
Copy link
Contributor

nathanbogale commented Dec 10, 2024

Summary

We need to transition from ULID to UUIDv7 for time-ordered identifiers across our system, as outlined in ADR-0009.

Description

Description

We need to transition from ULID to UUIDv7 for time-ordered identifiers across our system, as outlined in ADR-0009. UUIDv7 provides similar benefits to ULID while offering better system compatibility, standardization, and reduced custom code maintenance.

Current implementation uses ULID for time-ordered identifiers, which requires special handling and custom code. UUIDv7 (RFC 9562) provides the same benefits with better system compatibility and standardization.

Goal

Standardize our unique identifier strategy by:

  • Using UUIDv7 for time-ordered identifiers
  • Using UUIDv4 for type-specific identifiers
  • Removing ULID dependencies
  • Simplifying database operations with native UUID types

Related PR

Acceptance Criteria

Documentation

  • Update API documentation to specify UUID format requirements
  • Document when to use UUIDv4 vs UUIDv7

Implementation

  • Identify all ULID usage in the codebase
  • Create UUIDv7 generation utilities
  • Update database schemas to use UUID types
  • Create data migration scripts
  • Update existing ULID implementations to UUIDv7
  • Update test cases to reflect UUID usage

Testing

  • Verify UUIDv7 generation meets time-ordering requirements
  • Test database operations with new UUID types
  • Validate data migration scripts
  • Ensure backward compatibility during transition
  • Performance testing of UUID operations

Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review me PR is ready for review
Projects
Status: New
Development

Successfully merging a pull request may close this issue.

3 participants