100 lines
3.7 KiB
SQL
100 lines
3.7 KiB
SQL
CREATE TABLE `circuit_sections` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`circuit_list_id` text NOT NULL,
|
|
`key` text NOT NULL,
|
|
`display_name` text NOT NULL,
|
|
`prefix` text NOT NULL,
|
|
`sort_order` integer NOT NULL DEFAULT 0,
|
|
FOREIGN KEY (`circuit_list_id`) REFERENCES `circuit_lists`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `circuit_sections_list_key_unique` ON `circuit_sections` (`circuit_list_id`,`key`);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `circuit_sections_list_prefix_unique` ON `circuit_sections` (`circuit_list_id`,`prefix`);
|
|
--> statement-breakpoint
|
|
|
|
CREATE TABLE `circuits` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`circuit_list_id` text NOT NULL,
|
|
`section_id` text NOT NULL,
|
|
`equipment_identifier` text NOT NULL,
|
|
`display_name` text,
|
|
`sort_order` integer NOT NULL DEFAULT 0,
|
|
`protection_type` text,
|
|
`protection_rated_current` real,
|
|
`protection_characteristic` text,
|
|
`cable_type` text,
|
|
`cable_cross_section` text,
|
|
`cable_length` real,
|
|
`rcd_assignment` text,
|
|
`terminal_designation` text,
|
|
`voltage` real,
|
|
`status` text,
|
|
`is_reserve` integer NOT NULL DEFAULT 0,
|
|
`remark` text,
|
|
FOREIGN KEY (`circuit_list_id`) REFERENCES `circuit_lists`(`id`) ON UPDATE no action ON DELETE cascade,
|
|
FOREIGN KEY (`section_id`) REFERENCES `circuit_sections`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `circuits_list_equipment_identifier_unique` ON `circuits` (`circuit_list_id`,`equipment_identifier`);
|
|
--> statement-breakpoint
|
|
|
|
CREATE TABLE `circuit_device_rows` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`circuit_id` text NOT NULL,
|
|
`linked_project_device_id` text,
|
|
`legacy_consumer_id` text,
|
|
`sort_order` integer NOT NULL DEFAULT 0,
|
|
`name` text NOT NULL,
|
|
`display_name` text NOT NULL,
|
|
`phase_type` text,
|
|
`connection_kind` text,
|
|
`cost_group` text,
|
|
`category` text,
|
|
`level` text,
|
|
`room_id` text,
|
|
`room_number_snapshot` text,
|
|
`room_name_snapshot` text,
|
|
`quantity` integer NOT NULL,
|
|
`power_per_unit` real NOT NULL,
|
|
`simultaneity_factor` real NOT NULL,
|
|
`cos_phi` real,
|
|
`remark` text,
|
|
`overridden_fields` text,
|
|
FOREIGN KEY (`circuit_id`) REFERENCES `circuits`(`id`) ON UPDATE no action ON DELETE cascade,
|
|
FOREIGN KEY (`linked_project_device_id`) REFERENCES `project_devices`(`id`) ON UPDATE no action ON DELETE set null,
|
|
FOREIGN KEY (`room_id`) REFERENCES `rooms`(`id`) ON UPDATE no action ON DELETE set null
|
|
);
|
|
--> statement-breakpoint
|
|
|
|
CREATE TABLE `legacy_consumer_circuit_migrations` (
|
|
`consumer_id` text PRIMARY KEY NOT NULL,
|
|
`circuit_id` text NOT NULL,
|
|
`circuit_device_row_id` text NOT NULL,
|
|
`circuit_list_id` text NOT NULL,
|
|
`created_at_iso` text NOT NULL,
|
|
FOREIGN KEY (`circuit_id`) REFERENCES `circuits`(`id`) ON UPDATE no action ON DELETE cascade,
|
|
FOREIGN KEY (`circuit_device_row_id`) REFERENCES `circuit_device_rows`(`id`) ON UPDATE no action ON DELETE cascade,
|
|
FOREIGN KEY (`circuit_list_id`) REFERENCES `circuit_lists`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
|
|
CREATE TABLE `legacy_consumer_migration_reports` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`circuit_list_id` text NOT NULL,
|
|
`legacy_consumer_count` integer NOT NULL,
|
|
`created_circuit_count` integer NOT NULL,
|
|
`created_device_row_count` integer NOT NULL,
|
|
`duplicate_grouped_count` integer NOT NULL,
|
|
`generated_identifier_count` integer NOT NULL,
|
|
`unassigned_row_count` integer NOT NULL,
|
|
`warnings_json` text NOT NULL,
|
|
`generated_identifiers_json` text NOT NULL,
|
|
`duplicate_groups_json` text NOT NULL,
|
|
`created_at_iso` text NOT NULL,
|
|
FOREIGN KEY (`circuit_list_id`) REFERENCES `circuit_lists`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `legacy_consumer_migration_reports_list_unique` ON `legacy_consumer_migration_reports` (`circuit_list_id`);
|
|
|