23 lines
764 B
SQL
23 lines
764 B
SQL
PRAGMA foreign_keys = ON;
|
|
|
|
CREATE TABLE IF NOT EXISTS bonded_groups (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT,
|
|
notes TEXT,
|
|
active INTEGER NOT NULL DEFAULT 1,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
dissolved_at TEXT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS bonded_group_members (
|
|
group_id INTEGER NOT NULL,
|
|
animal_id INTEGER NOT NULL,
|
|
position INTEGER NOT NULL DEFAULT 1,
|
|
PRIMARY KEY(group_id, animal_id),
|
|
FOREIGN KEY(group_id) REFERENCES bonded_groups(id) ON DELETE CASCADE,
|
|
FOREIGN KEY(animal_id) REFERENCES animals(id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_bonded_members_animal
|
|
ON bonded_group_members(animal_id);
|
|
CREATE INDEX IF NOT EXISTS idx_bonded_members_group ON bonded_group_members(group_id, position);
|