Add source id for index

This commit is contained in:
Nick Mowen 2023-04-20 15:55:39 -06:00
parent cca6676004
commit 98b154f5ec
3 changed files with 7 additions and 5 deletions

View File

@ -36,6 +36,7 @@ class Timeline(Model): # type: ignore[misc]
timestamp = DateTimeField()
camera = CharField(index=True, max_length=20)
source = CharField(index=True, max_length=20) # ex: tracked object, audio, external
source_id = CharField(index=True, max_length=30)
class_type = CharField(max_length=50) # ex: entered_zone, audio_heard
data = JSONField() # ex: tracked object id, region, box, etc.

View File

@ -60,9 +60,9 @@ class TimelineProcessor(threading.Thread):
timestamp=event_data["frame_time"],
camera=camera,
source="tracked_object",
source_id=event_data["id"],
class_type="visible",
data={
"event_id": event_data["id"],
"region": event_data["region"],
"box": event_data["box"],
},
@ -75,9 +75,9 @@ class TimelineProcessor(threading.Thread):
timestamp=event_data["frame_time"],
camera=camera,
source="tracked_object",
source_id=event_data["id"],
class_type="entered_zone",
data={
"event_id": event_data["id"],
"region": event_data["region"],
"box": event_data["box"],
"zones": event_data["current_zones"],
@ -88,9 +88,9 @@ class TimelineProcessor(threading.Thread):
timestamp=event_data["frame_time"],
camera=camera,
source="tracked_object",
source_id=event_data["id"],
class_type="gone",
data={
"event_id": event_data["id"],
"region": event_data["region"],
"box": event_data["box"],
},

View File

@ -37,10 +37,11 @@ SQL = pw.SQL
def migrate(migrator, database, fake=False, **kwargs):
migrator.sql(
'CREATE TABLE IF NOT EXISTS "timeline" ("timestamp" DATETIME NOT NULL, "camera" VARCHAR(20) NOT NULL, "source" VARCHAR(20) NOT NULL, "class_type" VARCHAR(50) NOT NULL, "data" JSON)'
'CREATE TABLE IF NOT EXISTS "timeline" ("timestamp" DATETIME NOT NULL, "camera" VARCHAR(20) NOT NULL, "source" VARCHAR(20) NOT NULL, "source_id" VARCHAR(30) NOT NULL, "class_type" VARCHAR(50) NOT NULL, "data" JSON)'
)
migrator.sql('CREATE INDEX IF NOT EXISTS "timeline_camera" ON "timeline" ("camera")')
migrator.sql('CREATE INDEX IF NOT EXISTS "timeline_input_type" ON "timeline" ("source")')
migrator.sql('CREATE INDEX IF NOT EXISTS "timeline_source" ON "timeline" ("source")')
migrator.sql('CREATE INDEX IF NOT EXISTS "timeline_source_id" ON "timeline" ("source_id")')
def rollback(migrator, database, fake=False, **kwargs):