Globinours/migrations/044_animal_location_history.sql

32 lines
1.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CREATE TABLE animal_location_history (
id INTEGER PRIMARY KEY AUTOINCREMENT,
animal_id INTEGER NOT NULL,
from_status TEXT,
from_refuge_room TEXT,
from_care_box_key TEXT,
from_address TEXT,
to_status TEXT,
to_refuge_room TEXT,
to_care_box_key TEXT,
to_address TEXT,
reason TEXT,
source TEXT NOT NULL DEFAULT 'animal_form',
moved_at TEXT NOT NULL DEFAULT (datetime('now')),
user_id INTEGER,
FOREIGN KEY(animal_id) REFERENCES animals(id) ON DELETE CASCADE,
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE SET NULL
);
CREATE INDEX idx_animal_location_history_animal_date
ON animal_location_history(animal_id, moved_at DESC, id DESC);
-- Les animaux déjà présents commencent avec un état de référence. Il ne s'agit
-- pas d'un déplacement inventé, mais du point de départ de leur future chronologie.
INSERT INTO animal_location_history (
animal_id, to_status, to_refuge_room, to_care_box_key, to_address,
reason, source, moved_at
)
SELECT id, status, refuge_room, care_box_key, current_address,
'État initial lors de lactivation de lhistorique', 'migration',
datetime('now')
FROM animals;