134 lines
7.1 KiB
SQL
134 lines
7.1 KiB
SQL
CREATE TABLE `audit_log` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`action` text NOT NULL,
|
|
`content` text DEFAULT 'NULL',
|
|
`actor_ip` text DEFAULT 'NULL',
|
|
`actor_ua` text DEFAULT 'NULL',
|
|
`flagged` tinyint NOT NULL DEFAULT 0,
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`actorId` int(11) DEFAULT 'NULL'
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `document` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`title` text NOT NULL,
|
|
`slug` text NOT NULL,
|
|
`body` text NOT NULL,
|
|
`authorId` int(11) DEFAULT 'NULL',
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`updated_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)'
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `o_auth2_client` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`client_id` varchar(36) NOT NULL,
|
|
`client_secret` text NOT NULL,
|
|
`title` varchar(255) NOT NULL,
|
|
`description` text DEFAULT 'NULL',
|
|
`scope` text DEFAULT 'NULL',
|
|
`grants` text NOT NULL DEFAULT ''authorization_code'',
|
|
`activated` tinyint NOT NULL DEFAULT 0,
|
|
`verified` tinyint NOT NULL DEFAULT 0,
|
|
`pictureId` int(11) DEFAULT 'NULL',
|
|
`ownerId` int(11) DEFAULT 'NULL',
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`updated_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
CONSTRAINT `IDX_e9d16c213910ad57bd05e97b42` UNIQUE(`client_id`)
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `o_auth2_client_authorization` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`scope` text DEFAULT 'NULL',
|
|
`expires_at` timestamp NOT NULL DEFAULT 'current_timestamp()',
|
|
`clientId` int(11) DEFAULT 'NULL',
|
|
`userId` int(11) DEFAULT 'NULL',
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)'
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `o_auth2_client_url` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`url` varchar(255) NOT NULL,
|
|
`type` enum('redirect_uri','terms','privacy','website') NOT NULL,
|
|
`created_at` timestamp(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`updated_at` timestamp(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`clientId` int(11) DEFAULT 'NULL'
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `o_auth2_token` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`type` enum('code','access_token','refresh_token') NOT NULL,
|
|
`token` text NOT NULL,
|
|
`scope` text DEFAULT 'NULL',
|
|
`expires_at` timestamp NOT NULL DEFAULT 'current_timestamp()',
|
|
`userId` int(11) DEFAULT 'NULL',
|
|
`clientId` int(11) DEFAULT 'NULL',
|
|
`nonce` text DEFAULT 'NULL',
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`updated_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`pcke` text DEFAULT 'NULL'
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `privilege` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`name` text NOT NULL
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `upload` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`original_name` varchar(255) NOT NULL,
|
|
`mimetype` varchar(255) NOT NULL,
|
|
`file` varchar(255) NOT NULL,
|
|
`uploaderId` int(11) DEFAULT 'NULL',
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`updated_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)'
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `user` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`uuid` varchar(36) NOT NULL,
|
|
`username` varchar(26) NOT NULL,
|
|
`email` varchar(255) NOT NULL,
|
|
`display_name` varchar(32) NOT NULL,
|
|
`password` text DEFAULT 'NULL',
|
|
`activated` tinyint NOT NULL DEFAULT 0,
|
|
`activity_at` timestamp NOT NULL DEFAULT 'current_timestamp()',
|
|
`pictureId` int(11) DEFAULT 'NULL',
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
`updated_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)',
|
|
CONSTRAINT `IDX_a95e949168be7b7ece1a2382fe` UNIQUE(`uuid`),
|
|
CONSTRAINT `IDX_78a916df40e02a9deb1c4b75ed` UNIQUE(`username`),
|
|
CONSTRAINT `IDX_e12875dfb3b1d92d7d7c5377e2` UNIQUE(`email`)
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `user_privileges_privilege` (
|
|
`userId` int(11) NOT NULL,
|
|
`privilegeId` int(11) NOT NULL
|
|
);--> statement-breakpoint
|
|
|
|
CREATE TABLE `user_token` (
|
|
`id` int(11) AUTO_INCREMENT NOT NULL,
|
|
`token` text NOT NULL,
|
|
`type` enum('generic','activation','deactivation','password','login','gdpr','totp','public_key','recovery') NOT NULL,
|
|
`expires_at` timestamp DEFAULT 'NULL',
|
|
`userId` int(11) DEFAULT 'NULL',
|
|
`nonce` text DEFAULT 'NULL',
|
|
`created_at` datetime(6) NOT NULL DEFAULT 'current_timestamp(6)'
|
|
);--> statement-breakpoint
|
|
|
|
ALTER TABLE `audit_log` ADD CONSTRAINT `FK_cb6aa6f6fd56f08eafb60316225` FOREIGN KEY (`actorId`) REFERENCES `user`(`id`) ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `document` ADD CONSTRAINT `FK_6a2eb13cadfc503989cbe367572` FOREIGN KEY (`authorId`) REFERENCES `user`(`id`) ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `o_auth2_client` ADD CONSTRAINT `FK_4a6c878506b872e85b3d07f6252` FOREIGN KEY (`ownerId`) REFERENCES `user`(`id`) ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `o_auth2_client` ADD CONSTRAINT `FK_e8d65b1eec13474e493420517d7` FOREIGN KEY (`pictureId`) REFERENCES `upload`(`id`) ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `o_auth2_client_authorization` ADD CONSTRAINT `FK_8227110f58510b7233f3db90cfb` FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `o_auth2_client_authorization` ADD CONSTRAINT `FK_9ca9ebb654e7ce71954d5fdb281` FOREIGN KEY (`clientId`) REFERENCES `o_auth2_client`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `o_auth2_client_url` ADD CONSTRAINT `FK_aca59c7bdd65987487eea98d00f` FOREIGN KEY (`clientId`) REFERENCES `o_auth2_client`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `o_auth2_token` ADD CONSTRAINT `FK_3ecb760b321ef9bbab635f05b45` FOREIGN KEY (`clientId`) REFERENCES `o_auth2_client`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `o_auth2_token` ADD CONSTRAINT `FK_81ffb9b8d672cf3af1af9e789f3` FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE `upload` ADD CONSTRAINT `FK_7b8d52838a953b188255682597b` FOREIGN KEY (`uploaderId`) REFERENCES `user`(`id`) ON DELETE set null ON UPDATE cascade;--> statement-breakpoint
|
|
ALTER TABLE `user` ADD CONSTRAINT `FK_7478a15985dbfa32ed5fc77a7a1` FOREIGN KEY (`pictureId`) REFERENCES `upload`(`id`) ON DELETE set null ON UPDATE cascade;--> statement-breakpoint
|
|
ALTER TABLE `user_privileges_privilege` ADD CONSTRAINT `FK_0664a7ff494a1859a09014c0f17` FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE cascade ON UPDATE cascade;--> statement-breakpoint
|
|
ALTER TABLE `user_privileges_privilege` ADD CONSTRAINT `FK_e71171f4ed20bc8564a1819d0b7` FOREIGN KEY (`privilegeId`) REFERENCES `privilege`(`id`) ON DELETE cascade ON UPDATE cascade;--> statement-breakpoint
|
|
ALTER TABLE `user_token` ADD CONSTRAINT `FK_d37db50eecdf9b8ce4eedd2f918` FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
CREATE INDEX `IDX_0664a7ff494a1859a09014c0f1` ON `user_privileges_privilege` (`userId`);--> statement-breakpoint
|
|
CREATE INDEX `IDX_e71171f4ed20bc8564a1819d0b` ON `user_privileges_privilege` (`privilegeId`);
|