← ClaudeAtlas

db-connectionlisted

Use when setting up database connections, especially for Neon PostgreSQL. Triggers for: Neon Postgres connection, connection pooling configuration, connection string management, SSL configuration, or SQLAlchemy engine setup. NOT for: CRUD operations (use @sqlmodel-crud) or migration scripts (use @db-migration).
aiskillstore/marketplace · ★ 329 · API & Backend · score 79
Install: claude install-skill aiskillstore/marketplace
# Database Connection Skill Expert database connection management for Python/FastAPI with Neon PostgreSQL, connection pooling, and SSL configuration. ## Quick Reference | Task | File/Method | |------|-------------| | Get engine | `get_engine()` | | Get session | `get_session()` | | Connection string | `DB_URL` from settings | | Health check | `check_connection()` | ## Project Structure ``` backend/ ├── app/ │ ├── db/ │ │ ├── __init__.py │ │ ├── connection.py # Engine and session setup │ │ └── session.py # Dependency injection │ └── config/ │ └── settings.py # Environment config ├── alembic/ │ └── env.py # Uses connection from here └── .env.example ``` ## Connection Configuration ### Settings with DB URL ```python # backend/app/config/settings.py from functools import lru_cache from pydantic import Field, SecretStr from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): model_config = SettingsConfigDict( env_file=".env", env_file_encoding="utf-8", extra="ignore", ) # Database Configuration DB_URL: SecretStr = Field( ..., description="PostgreSQL connection URL", examples=["postgresql://user:pass@ep-xxx.us-east-1.aws.neon.tech/dbname?sslmode=require"], ) DB_POOL_SIZE: int = Field(default=5, ge=1, le=100) DB_MAX_OVERFLOW: int = Field(default=10, ge=0, le=100) DB_POOL_TIMEOUT: int = Field(default=30, ge=