data-access-abstraction

Abstract repository implementations behind consistent interfaces for cross-database data access.

37|10|Updated Nov 3, 2025
One-click install
npx skills add https://github.com/DanWahlin/github-azure-agentic-journeys --skill data-access-abstraction
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-access-abstraction
Source: https://github.com/DanWahlin/github-azure-agentic-journeys/tree/main/.github/skills/data-access-abstraction
Command: npx skills add https://github.com/DanWahlin/github-azure-agentic-journeys --skill data-access-abstraction

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Data access abstractions let apps swap data backends (SQLite locally and Cosmos DB or PostgreSQL in the cloud) without changing business logic across languages.

Core Features & Use Cases

  • Repository-pattern based data access across multiple backends
  • Language support: Node.js/TypeScript, Python/FastAPI, and .NET
  • Easy provider swaps via environment configuration for local vs cloud deployments

Quick Start

Configure your app to run locally with SQLite and switch to Cosmos DB or PostgreSQL for cloud deployments by setting DATA_PROVIDER accordingly.

Frequently Asked Questions about data-access-abstraction

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I switch my data access layer between SQLite and PostgreSQL without changing business logic?

You can switch databases by abstracting repository implementations behind consistent interfaces and selecting the provider through environment-driven configuration. This allows seamless code reuse across local and cloud deployments without altering business logic.

What is the repository pattern for cross-database data access in TypeScript and .NET?

The repository pattern for cross-database data access abstracts data operations behind consistent interfaces. This enables applications to swap backends like SQLite, Cosmos DB, and PostgreSQL across Node.js/TypeScript, Python/FastAPI, and .NET stacks seamlessly.

Can I use a single repository interface for local SQLite and cloud Cosmos DB deployments?

Yes, you can use a single repository interface for local SQLite and cloud Cosmos DB deployments. The abstraction relies on a dependency injection pattern and environment-driven provider selection to swap implementations without changing routes.

How do I configure environment variables to swap data providers in a multi-language stack?

You configure environment variables by setting the DATA_PROVIDER variable to target your desired backend. This environment-driven provider selection enables seamless swaps between local SQLite and cloud databases across supported languages.

Does this data access abstraction support Python and FastAPI alongside Node.js?

Yes, the data access abstraction supports Python and FastAPI alongside Node.js/TypeScript and .NET. It applies repository-pattern based data access across these multi-language stacks to unify local and cloud database interactions.

What are the limitations of using environment-driven provider selection for database abstraction?

The limitation of environment-driven provider selection is that it requires a dependency injection pattern to swap implementations without changing routes. You must ensure your application architecture supports this DI pattern across all multi-language stacks.