The panko.storage.impl_sqlalchemy
Module¶
SQLAlchemy storage backend.
-
class
panko.storage.impl_sqlalchemy.
Connection
(url, conf)¶ Bases:
panko.storage.base.Connection
Put the event data into a SQLAlchemy database.
Tables:
- EventType - event definition - { id: event type id desc: description of event } - Event - event data - { id: event id message_id: message id generated = timestamp of event event_type_id = event type -> eventtype.id } - TraitInt - int trait value - { event_id: event -> event.id key: trait name value: integer value } - TraitDatetime - datetime trait value - { event_id: event -> event.id key: trait name value: datetime value } - TraitText - text trait value - { event_id: event -> event.id key: trait name value: text value } - TraitFloat - float trait value - { event_id: event -> event.id key: trait name value: float value }
-
CAPABILITIES
= {'events': {'query': {'simple': True}}}¶
-
STORAGE_CAPABILITIES
= {'storage': {'production_ready': True}}¶
-
clear
()¶ Clear database.
-
clear_expired_data
(ttl, max_count)¶ Clear expired data from the backend storage system.
Clearing occurs according to the time-to-live.
- Parameters
ttl – Number of seconds to keep records for.
max_count – Number of records to delete.
-
static
dress_url
(url)¶
-
get_event_types
()¶ Return all event types as an iterable of strings.
-
get_events
(event_filter, pagination=None)¶ Return an iterable of model.Event objects.
- Parameters
event_filter – EventFilter instance
pagination – Pagination parameters.
-
get_trait_types
(event_type)¶ Return a dictionary containing the name and data type of the trait.
Only trait types for the provided event_type are returned. :param event_type: the type of the Event
-
get_traits
(event_type, trait_type=None)¶ Return all trait instances associated with an event_type.
If trait_type is specified, only return instances of that trait type. :param event_type: the type of the Event to filter by :param trait_type: the name of the Trait to filter by
-
record_events
(event_models)¶ Write the events to SQL database via sqlalchemy.
- Parameters
event_models – a list of model.Event objects.
-
upgrade
()¶ Migrate the database to version or the most recent version.
-