45 lines
1.4 KiB
SQL
45 lines
1.4 KiB
SQL
CREATE TABLE `rabbits` (
|
|
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
`name` text NOT NULL,
|
|
`farm` text,
|
|
`sex` text DEFAULT 'unknown' NOT NULL,
|
|
`dob` text,
|
|
`weight_lbs` real,
|
|
`ear_number` text,
|
|
`location` text,
|
|
`status` text DEFAULT 'active' NOT NULL,
|
|
`color_name` text,
|
|
`photo_path` text,
|
|
`registration_number` text,
|
|
`gc_number` text,
|
|
`sire_id` integer,
|
|
`dam_id` integer,
|
|
`locus_a` text,
|
|
`locus_b` text,
|
|
`locus_c` text,
|
|
`locus_d` text,
|
|
`locus_e` text,
|
|
`locus_en` text,
|
|
`locus_v` text,
|
|
`sire_name_text` text,
|
|
`dam_name_text` text,
|
|
`paternal_grandsire_name_text` text,
|
|
`paternal_granddam_name_text` text,
|
|
`maternal_grandsire_name_text` text,
|
|
`maternal_granddam_name_text` text,
|
|
`pp_grandsire_name_text` text,
|
|
`pp_granddam_name_text` text,
|
|
`pm_grandsire_name_text` text,
|
|
`pm_granddam_name_text` text,
|
|
`mp_grandsire_name_text` text,
|
|
`mp_granddam_name_text` text,
|
|
`mm_grandsire_name_text` text,
|
|
`mm_granddam_name_text` text,
|
|
`created_at` text DEFAULT (current_timestamp) NOT NULL,
|
|
`updated_at` text DEFAULT (current_timestamp) NOT NULL,
|
|
FOREIGN KEY (`sire_id`) REFERENCES `rabbits`(`id`) ON UPDATE no action ON DELETE no action,
|
|
FOREIGN KEY (`dam_id`) REFERENCES `rabbits`(`id`) ON UPDATE no action ON DELETE no action,
|
|
CONSTRAINT "sex_check" CHECK("rabbits"."sex" in ('buck', 'doe', 'unknown')),
|
|
CONSTRAINT "status_check" CHECK("rabbits"."status" in ('active', 'for_sale', 'on_hold', 'sold', 'deceased', 'other'))
|
|
);
|