Files
metabuilder/dbal/shared/api/schema/capabilities.yaml

142 lines
3.9 KiB
YAML

capabilities:
description: "Backend adapter capabilities matrix"
adapters:
prisma:
display_name: "Prisma ORM"
description: "Multi-database ORM with migrations"
version: "6.3+"
features:
transactions: true
nested_transactions: true
joins: true
full_text_search: false
ttl: false
json_queries: true
aggregations: true
relations: true
migrations: true
schema_introspection: true
connection_pooling: true
read_replicas: false
supported_databases:
- postgresql
- mysql
- sqlite
- sqlserver
- mongodb
- cockroachdb
limitations:
- "Full-text search depends on database"
- "TTL not natively supported"
performance:
bulk_insert: excellent
bulk_update: good
complex_queries: excellent
sqlite:
display_name: "SQLite Direct"
description: "Embedded SQL database"
version: "3.40+"
features:
transactions: true
nested_transactions: true
joins: true
full_text_search: true
ttl: false
json_queries: true
aggregations: true
relations: true
migrations: manual
schema_introspection: true
connection_pooling: false
read_replicas: false
supported_databases:
- sqlite
limitations:
- "Single writer at a time"
- "No connection pooling"
- "TTL requires manual cleanup"
performance:
bulk_insert: good
bulk_update: good
complex_queries: good
mongodb:
display_name: "MongoDB Driver"
description: "Document database"
version: "6.0+"
features:
transactions: true
nested_transactions: false
joins: false
full_text_search: true
ttl: true
json_queries: true
aggregations: true
relations: false
migrations: manual
schema_introspection: false
connection_pooling: true
read_replicas: true
supported_databases:
- mongodb
limitations:
- "No native joins (use $lookup)"
- "No foreign keys"
- "Schema-less (validation optional)"
performance:
bulk_insert: excellent
bulk_update: excellent
complex_queries: good
feature_matrix:
transactions:
description: "ACID transaction support"
supported_by: [prisma, sqlite, mongodb]
required_for: ["Multi-step operations", "Data consistency"]
joins:
description: "SQL-style JOIN operations"
supported_by: [prisma, sqlite]
fallback: "Multiple queries with in-memory join"
full_text_search:
description: "Full-text search capabilities"
supported_by: [sqlite, mongodb]
fallback: "LIKE queries or external search engine"
ttl:
description: "Automatic expiration of records"
supported_by: [mongodb]
fallback: "Manual cleanup job"
json_queries:
description: "Query JSON fields"
supported_by: [prisma, sqlite, mongodb]
aggregations:
description: "Aggregate functions (COUNT, SUM, etc.)"
supported_by: [prisma, sqlite, mongodb]
relations:
description: "Foreign key relationships"
supported_by: [prisma, sqlite]
migrations:
description: "Schema migration support"
supported_by: [prisma]
manual: [sqlite, mongodb]
capability_detection:
runtime_check: true
negotiation: true
graceful_degradation: true
version_compatibility:
min_api_version: "1.0"
current_api_version: "1.0"
breaking_changes:
- version: "2.0"
changes: ["TBD"]