python-database-patterns
Python-Datenbankmuster mit SQLAlchemy implementieren
También disponible en: 0xDarkMatter
Das Schreiben von Datenbankcode ist komplex und fehleranfällig. Diese Fähigkeit bietet erprobte SQLAlchemy 2.0-Muster für Modelle, Abfragen, asynchrone Sessions, Transaktionen und Migrationen.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "python-database-patterns". Create a User model with email unique constraint and a relationship to Post
Resultado esperado:
- - User-Klasse mit zugeordneten Spalten definieren
- - Unique-Constraint auf E-Mail-Feld hinzufügen
- - One-to-Many-Beziehung zu Post-Modell erstellen
- - back_populates für bidirektionale Navigation verwenden
Auditoría de seguridad
SeguroDocumentation-only skill containing educational SQLAlchemy patterns. No executable code, no network calls, no credential access, no malicious patterns detected.
Puntuación de calidad
Lo que puedes crear
SQLAlchemy 2.0 lernen
Beginnen Sie mit modernen SQLAlchemy-Mustern für deklarative Modelle und typsichere Abfragen
Asynchrone API-Backends erstellen
FastAPI-Endpunkte mit asynchronen Datenbanksessions und Transaktionsmanagement implementieren
Datenbankschemas verwalten
Alembic-Migrationen einrichten und Connection-Pools für Produktionsdatenbanken konfigurieren
Prueba estos prompts
Erstellen Sie ein SQLAlchemy 2.0-Modell namens Product mit id, name, price und category-Beziehung
Schreiben Sie eine asynchrone Funktion, um einen Benutzer nach E-Mail mit seinen Posts eager geladen abzurufen
Implementieren Sie eine transfer_funds-Funktion mit pessimistischem Locking, um Race Conditions zu verhindern
Zeigen Sie mir, wie ich Connection-Pool-Größe, Overflow und Pre-Ping für eine Produktions-PostgreSQL-async-Engine konfiguriere
Mejores prácticas
- SQLAlchemy 2.0 deklarativen Stil mit Mapped und mapped_column für Typsicherheit verwenden
- session.execute mit select() gegenüber der legacy session.query()-Methode bevorzugen
- pool_pre_ping=True konfigurieren, um fehlerhafte Verbindungen vor Abfragen zu erkennen
- Eager Loading (selectinload/joinedload) verwenden, um N+1-Abfragen in asynchronen Kontexten zu vermeiden
Evitar
- Lazy Loading in asynchronen Sessions verursacht MissingGreenlet-Fehler
- session.commit() innerhalb von session.begin() aufrufen erstellt verschachtelte Transaktionsprobleme
- Datenbank-URLs hardcodieren statt Umgebungskonfiguration zu verwenden
- pool_recycle überspringen, was dazu führt, dass Verbindungen nach langen Abfragen timeouten