database icon indicating copy to clipboard operation
database copied to clipboard

feat: add ScyllaDB adapter support

Open tinkerer-shubh opened this issue 1 year ago • 3 comments

Add ScyllaDB Adapter Support

related issue : #9295

This PR adds initial support for ScyllaDB as a new database adapter in the Utopia Database library.

Features

The ScyllaDB adapter implements core database operations:

  • Database management (create, delete, list)
  • Collection operations (create, delete, list)
  • Document CRUD operations
  • Attribute management
  • Index support (key and unique)
  • Query operations with support for all standard query types
  • Schema validation

Implementation Details

  • Follows the same pattern as existing adapters
  • Leverages ScyllaDB's native CQL capabilities
  • Includes comprehensive test suite
  • Adds ScyllaDB services to docker-compose.yml for testing
  • Updates README with connection example and specifications

Testing

  • Full test suite in tests/e2e/Adapter/ScyllaDBTest.php
  • All tests passing
  • Can be tested using docker-compose up scylladb

Documentation

Added to README:

  • ScyllaDB in supported databases table
  • Connection example
  • Database specifications and limits

Specifications

  • ID max size: 255 bytes
  • Document: Unrestricted size
  • Collection: Unrestricted attributes
  • Indexes: Unrestricted
  • String max size: Unrestricted
  • Integer max size: 2^63 - 1

tinkerer-shubh avatar Feb 10 '25 12:02 tinkerer-shubh

amazing job @tinkerer-shubh! 🔥

ChiragAgg5k avatar Feb 12 '25 06:02 ChiragAgg5k

amazing job @tinkerer-shubh! 🔥

Thank you! This is far from perfect though. The initial goal was to achieve an MVP of sorts and then iterate further based on the feedback. I see the checks are failing too, will take a look. :)

I was also thinking that maybe it's best to mark this as a draft for now while it's still in its iteration phase?

tinkerer-shubh avatar Feb 12 '25 10:02 tinkerer-shubh

nice one @tinkerer-shubh

ArnabChatterjee20k avatar Jul 21 '25 05:07 ArnabChatterjee20k