File size: 1,052 Bytes
b2ebfa6
 
 
1ef11dc
e39d48e
 
b2ebfa6
 
 
 
 
 
e39d48e
 
 
 
 
 
 
 
 
b2ebfa6
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE TABLE IF NOT EXISTS animals (
    id              INTEGER PRIMARY KEY AUTOINCREMENT,
    species         TEXT NOT NULL CHECK (species IN ('dog', 'cat')),
    name            TEXT,
    description     TEXT,
    embedding       BLOB,
    first_seen      DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    last_seen       DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    sighting_count  INTEGER NOT NULL DEFAULT 1
);

CREATE TABLE IF NOT EXISTS sightings (
    id              INTEGER PRIMARY KEY AUTOINCREMENT,
    animal_id       INTEGER NOT NULL REFERENCES animals(id) ON DELETE CASCADE,
    photo_path      TEXT,
    latitude        REAL,
    longitude       REAL,
    notes           TEXT,
    is_help_event   INTEGER NOT NULL DEFAULT 0,
    help_type       TEXT,
    created_at      DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_sightings_animal ON sightings(animal_id);
CREATE INDEX IF NOT EXISTS idx_animals_last_seen ON animals(last_seen);
CREATE INDEX IF NOT EXISTS idx_animals_species ON animals(species);