SQLAlchemy storage backend.
Bases: panko.event.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
}
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. |
---|
Return an iterable of model.Event objects.
Parameters: | event_filter – EventFilter instance |
---|
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
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