SQLBag Utilities

0.1.1617247075 · active · verified Fri Apr 17

SQLBag (version 0.1.1617247075) provides various snippets of SQL-related boilerplate, simplifying common SQLAlchemy tasks such as session management, query execution (e.g., `one`, `many`, `chunks`), engine creation, and upsert operations. It aims to reduce repetitive code for database interactions. Releases are frequent, following a timestamp-based micro-versioning system, primarily reflecting a single developer's utility collection.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to initialize an SQLAlchemy engine, use the `S` context manager for session handling, and perform basic queries with `sqlbag.one` and `sqlbag.many`.

import os
from sqlbag import S, one, many
from sqlbag.engine import get_engine

# Configure your database URL
database_url = os.environ.get('DATABASE_URL', 'sqlite:///./test.db')

engine = get_engine(url=database_url)

# Example usage with S context manager
with S(engine) as session:
    session.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
    session.execute("INSERT INTO users (name) VALUES ('Alice')")
    session.execute("INSERT INTO users (name) VALUES ('Bob')")
    session.commit()

    # Fetch a single result
    alice = one(session, 'SELECT * FROM users WHERE name = :name', name='Alice')
    print(f"Found one: {alice}")

    # Fetch multiple results
    all_users = many(session, 'SELECT * FROM users')
    print(f"Found many: {all_users}")

print("SQLBag quickstart completed successfully.")

view raw JSON →