Sanic¶
Sanic extension providing app/request context integration, request-scoped session management, transaction handling, correlation IDs, SQLCommenter, and connection pool lifecycle management.
Plugin¶
- class sqlspec.extensions.sanic.SQLSpecPlugin[source]¶
Bases:
objectSQLSpec integration for Sanic applications.
Provides Sanic-native configuration parsing and request helper methods. Runtime listener and middleware behavior is registered by
init_app.Example
from sanic import Sanic from sqlspec import SQLSpec from sqlspec.adapters.asyncpg import AsyncpgConfig from sqlspec.extensions.sanic import SQLSpecPlugin
sqlspec = SQLSpec() sqlspec.add_config(
- AsyncpgConfig(
connection_config={"dsn": "postgresql://localhost/mydb"}, extension_config={
- "sanic": {
"commit_mode": "autocommit", "session_key": "db",
}
},
)
)
app = Sanic("app") db_ext = SQLSpecPlugin(sqlspec, app)
State¶
- class sqlspec.extensions.sanic.SanicConfigState[source]¶
Bases:
objectInternal state for a Sanic database configuration.
Tracks the keys and behavior needed to bind one SQLSpec config into a Sanic app and its request context.
- __init__(config, connection_key, pool_key, session_key, commit_mode, extra_commit_statuses, extra_rollback_statuses, disable_di, enable_correlation_middleware=False, correlation_header='x-request-id', correlation_headers=None, auto_trace_headers=True, enable_sqlcommenter_middleware=True, sqlcommenter_framework='sanic')¶
Helpers¶
- sqlspec.extensions.sanic.get_connection_from_request(request, config_state)[source]¶
Get database connection from request context.
- Parameters:
config_state¶ (
SanicConfigState) -- Configuration state for the database.
- Return type:
- Returns:
Database connection object.
- Raises:
ImproperConfigurationError -- If SQLSpec request middleware has not stored a connection.
- sqlspec.extensions.sanic.get_or_create_session(request, config_state)[source]¶
Get or create database session for request.
Sessions are cached per request to return the same session instance across multiple calls in one request.
- Parameters:
config_state¶ (
SanicConfigState) -- Configuration state for the database.
- Return type:
- Returns:
Database session driver instance.