Files
plant-disease-id/drizzle/0000_flippant_talon.sql
2026-06-08 16:42:04 -04:00

47 lines
1.8 KiB
SQL

CREATE TABLE `diseases` (
`id` text PRIMARY KEY NOT NULL,
`plant_id` text NOT NULL,
`name` text NOT NULL,
`scientific_name` text DEFAULT '' NOT NULL,
`causal_agent_type` text NOT NULL,
`description` text DEFAULT '' NOT NULL,
`symptoms` text DEFAULT '[]' NOT NULL,
`causes` text DEFAULT '[]' NOT NULL,
`treatment` text DEFAULT '[]' NOT NULL,
`prevention` text DEFAULT '[]' NOT NULL,
`lookalike_ids` text DEFAULT '[]' NOT NULL,
`severity` text NOT NULL,
`source_url` text DEFAULT '' NOT NULL,
`created_at` text DEFAULT (datetime('now')) NOT NULL,
`updated_at` text DEFAULT (datetime('now')) NOT NULL,
FOREIGN KEY (`plant_id`) REFERENCES `plants`(`id`) ON UPDATE no action ON DELETE no action
);
--> statement-breakpoint
CREATE INDEX `idx_diseases_plant_id` ON `diseases` (`plant_id`);--> statement-breakpoint
CREATE INDEX `idx_diseases_causal_agent` ON `diseases` (`causal_agent_type`);--> statement-breakpoint
CREATE INDEX `idx_diseases_severity` ON `diseases` (`severity`);--> statement-breakpoint
CREATE TABLE `plants` (
`id` text PRIMARY KEY NOT NULL,
`common_name` text NOT NULL,
`scientific_name` text NOT NULL,
`family` text NOT NULL,
`category` text NOT NULL,
`care_summary` text DEFAULT '' NOT NULL,
`image_url` text DEFAULT '' NOT NULL,
`created_at` text DEFAULT (datetime('now')) NOT NULL,
`updated_at` text DEFAULT (datetime('now')) NOT NULL
);
--> statement-breakpoint
CREATE INDEX `idx_plants_category` ON `plants` (`category`);--> statement-breakpoint
CREATE INDEX `idx_plants_common_name` ON `plants` (`common_name`);--> statement-breakpoint
CREATE TABLE `scrape_sources` (
`id` text PRIMARY KEY NOT NULL,
`source_type` text NOT NULL,
`source_url` text NOT NULL,
`last_scraped_at` text,
`entries_count` integer DEFAULT 0,
`status` text DEFAULT 'pending' NOT NULL,
`error_message` text,
`created_at` text DEFAULT (datetime('now')) NOT NULL
);