sso-core/migrations/0008_faithful_golden_guardian.sql
2025-03-08 10:02:06 +02:00

34 lines
1.9 KiB
SQL

CREATE TABLE `ip_address` (
`id` int unsigned AUTO_INCREMENT NOT NULL,
`ip_address` int unsigned NOT NULL,
`flags` tinyint unsigned NOT NULL,
`listId` int unsigned,
`created_at` datetime(6) NOT NULL DEFAULT current_timestamp(6),
`updated_at` datetime(6) NOT NULL DEFAULT current_timestamp(6),
CONSTRAINT `ip_address_id` PRIMARY KEY(`id`),
CONSTRAINT `ip_address_idx` UNIQUE(`ip_address`)
);
--> statement-breakpoint
CREATE TABLE `ip_list` (
`id` int unsigned AUTO_INCREMENT NOT NULL,
`name` text NOT NULL,
`url` text,
`default_flags` tinyint unsigned NOT NULL,
`created_at` datetime(6) NOT NULL DEFAULT current_timestamp(6),
`updated_at` datetime(6) NOT NULL DEFAULT current_timestamp(6),
CONSTRAINT `ip_list_id` PRIMARY KEY(`id`)
);
--> statement-breakpoint
CREATE TABLE `ip_address_user` (
`id` int unsigned AUTO_INCREMENT NOT NULL,
`userId` int,
`ipAddressId` int unsigned,
CONSTRAINT `ip_address_user_id` PRIMARY KEY(`id`)
);
--> statement-breakpoint
ALTER TABLE `audit_log` ADD `ipAddressId` int unsigned;--> statement-breakpoint
ALTER TABLE `ip_address` ADD CONSTRAINT `ip_address_listId_ip_list_id_fk` FOREIGN KEY (`listId`) REFERENCES `ip_list`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE `ip_address_user` ADD CONSTRAINT `ip_address_user_userId_user_id_fk` FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE `ip_address_user` ADD CONSTRAINT `ip_address_user_ipAddressId_ip_address_id_fk` FOREIGN KEY (`ipAddressId`) REFERENCES `ip_address`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
CREATE INDEX `ip_flags_idx` ON `ip_address` (`flags`);--> statement-breakpoint
ALTER TABLE `audit_log` ADD CONSTRAINT `audit_log_ipAddressId_ip_address_id_fk` FOREIGN KEY (`ipAddressId`) REFERENCES `ip_address`(`id`) ON DELETE set null ON UPDATE no action;