Skip to content

[Initiative] Datastore Backend: ScyllaDB with Migrations #102

@juliuskrah

Description

@juliuskrah

Summary

Implement a ScyllaDB datastore backend for the API datastore abstraction, including migration support for schema lifecycle management.

Parent initiative: #100

Scope

In Scope

  • Implement datastore interface using ScyllaDB/CQL.
  • Add backend registration/selection via runtime datastore config.
  • Implement migration support (up/down or versioned forward migrations) for required datastore schema.
  • Provide migration execution strategy at startup (safe/no-op when up to date).
  • Add integration tests (including migration path) for CRUD contract compliance.

Out of Scope

  • Multi-region replication strategy.
  • ScyllaDB operational tuning for production workloads.
  • Data migration from legacy stores beyond schema migration support.

Acceptance Criteria

  • ScyllaDB backend satisfies datastore interface contract used by gitstore-api.
  • Runtime config value (e.g. scylladb) selects this backend successfully.
  • Migration tooling can initialize and evolve schema safely.
  • Startup path handles pending/applied migrations with clear logging and failure semantics.
  • Integration tests validate both fresh setup and upgrade migration scenarios.

Tracking

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Task.

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions