58 lines
1.3 KiB
SQL
Executable File
58 lines
1.3 KiB
SQL
Executable File
CREATE TABLE `Printer` (
|
|
`id` int UNIQUE PRIMARY KEY,
|
|
`name` text,
|
|
`description` text,
|
|
`status` int COMMENT '0: OPERATIONAL
|
|
1: OUT_OF_ORDER',
|
|
`created_at` timestamp,
|
|
`updated_at` timestamp
|
|
);
|
|
|
|
CREATE TABLE `PrintJob` (
|
|
`id` int UNIQUE PRIMARY KEY,
|
|
`printer_id` int,
|
|
`user_id` int,
|
|
`start_at` timestamp,
|
|
`duration_in_minutes` int,
|
|
`comments` text,
|
|
`aborted` boolean DEFAULT false,
|
|
`abort_reason` text COMMENT 'Error code displayed on printer'
|
|
);
|
|
|
|
CREATE TABLE `Account` (
|
|
`id` text UNIQUE PRIMARY KEY,
|
|
`userId` text,
|
|
`type` text,
|
|
`provider` text,
|
|
`providerAccountId` text,
|
|
`refresh_token` text,
|
|
`access_token` text,
|
|
`expires_at` int,
|
|
`token_type` text,
|
|
`scope` text,
|
|
`id_token` text,
|
|
`session_state` text
|
|
);
|
|
|
|
CREATE TABLE `Session` (
|
|
`id` text UNIQUE PRIMARY KEY,
|
|
`sessionToken` text UNIQUE,
|
|
`userId` text,
|
|
`expires` datetime
|
|
);
|
|
|
|
CREATE TABLE `User` (
|
|
`id` text PRIMARY KEY,
|
|
`name` text,
|
|
`email` text UNIQUE,
|
|
`role` text COMMENT 'ADMIN,USER,GUEST'
|
|
);
|
|
|
|
ALTER TABLE `User` ADD FOREIGN KEY (`id`) REFERENCES `PrintJob` (`user_id`);
|
|
|
|
ALTER TABLE `User` ADD FOREIGN KEY (`id`) REFERENCES `Account` (`userId`);
|
|
|
|
ALTER TABLE `User` ADD FOREIGN KEY (`id`) REFERENCES `Session` (`userId`);
|
|
|
|
ALTER TABLE `Printer` ADD FOREIGN KEY (`id`) REFERENCES `PrintJob` (`printer_id`);
|